初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-07-21 20:58:39

Nob
Guest

規定数以上の入力時にエラーが出るように

フィールドに
日時(日付)
有・無(テキスト) チェックボックス で入力
してある状態で

同じ日に 有りが 5つ以上すでに入力している場合 さらに 入力しようとするとエラー等が出るようにするには
どのようにすれば良いでしょうか?

#2 2014-07-22 09:15:02

sorter
Guest

Re: 規定数以上の入力時にエラーが出るように

日(計算)Case(有無="有";GetAsDate(日時)) のフィールドを作って自己リレーションする。
Count(テーブル2::日)<5
で制限

#3 2014-07-22 09:28:50

旅人
Member

Re: 規定数以上の入力時にエラーが出るように

>同じ日に 有りが 5つ以上すでに入力している場合
既に「有」が5つ以上入力済みのレコード群は無視して。という意味ですか?

Offline

#4 2014-07-22 11:12:07

Nob
Guest

Re: 規定数以上の入力時にエラーが出るように

すいません説明が間違っていました
日時A(日付)
日時B(日付)
有・無(テキスト)
の状態で 1日だけ有(日時A・日時Bともに同日) で入力したり 日時Aから日時Bまで(例:日時A7/11 日時B 7/14) 有 で
入力したりしています。
その状態で、7/11がすでに5つ有がはいってるときに、  日時A7/9~日時B7/12 で入力したときに
エラーが出るように(入力した期間のうち1日でも5つ以上があれば)したいのです。

既に5つ以上入力済みのものは無視してOKです。

よろしくお願いします

#5 2014-07-22 11:38:02

Nob
Guest

Re: 規定数以上の入力時にエラーが出るように

sorterさんの回答を参考にして 解決しました
ありがとうございます!

#6 2014-07-22 11:41:38

Nob
Guest

Re: 規定数以上の入力時にエラーが出るように

何度もすいません
解決してませんでした。勘違いです。。><

#7 2014-07-22 11:49:59

チポ
Member

Re: 規定数以上の入力時にエラーが出るように

日時Aから日時Bまで

このフィールドが、必ず
  日時A <= 日時B
となっているとして、


グローバルフィールド 有無g を作り「有」を入力、

リレーションを

  日時A <= 日時B
  and
  日付B >= 日付A
  and
  有無g = 有無

として、
このリレーションのCountが4以下の制限でいいですね。

ただし、この制限はレコード確定時に判定されます。

Last edited by チポ (2014-07-22 11:52:55)

Offline

#8 2014-07-22 13:08:40

Nob
Guest

Re: 規定数以上の入力時にエラーが出るように

http://yahoo.jp/box/XtBbRG

すいません初心者で、
リレーションを作成してテーブルをつなぎ、
有無g のグローバルフィールド作成して有と入力 ここまでやったのですが
この先がわからないです。

>このリレーションのCount
はどのようにしたらいいでしょうか?

#9 2014-07-22 13:25:09

チポ
Member

Re: 規定数以上の入力時にエラーが出るように

有無フィールドの入力値の制限・計算式で制限の計算式の設定です。

計算式を
  Count ( リレーション::有無 ) <= 4

で制限できるでしょう。

Offline

#10 2014-07-22 14:16:33

Nob
Guest

Re: 規定数以上の入力時にエラーが出るように

ありがとうございます
有・無フィールドに計算式をいれたところ
有 のときにも無のときにも規定数以上でエラーがでてしまいます。
有のときだけ出るようにするのはどうしたらいいでしょうか

#11 2014-07-22 15:14:53

チポ
Member

Re: 規定数以上の入力時にエラーが出るように

リレーションが間違っているよ思いますよ。

リレーションの方法
元のテーブルをコピーして、「テーブル 2」としたとします。

  テーブル   テーブル 2
  日時A <= 日時B
  and
  日時B >= 日時A
  and
    有無g = 有無

この
有無g には「有」と入力
有無  にはラジオボタンで「有」か「無」どちらかを入力

この通りか確認してください。

Last edited by チポ (2014-07-22 17:07:14)

Offline

#12 2014-07-22 17:08:07

にしなな
Member

Re: 規定数以上の入力時にエラーが出るように

エラーを無視して入力するなどして6つ以上有がある場合は無を入力しても、有のうちの1つを消去しようとしてもエラーが出てしまいますね。
エラーを無視して入力できないように制限するか、入力値の制限の計算式を
Count ( リレーション::有無 ) <= 4 or IsEmpty ( 有無 ) or 有無 = "無"
などにすると解消できると思います。

Offline

#13 2014-07-22 17:25:36

旅人
Member

Re: 規定数以上の入力時にエラーが出るように

トリガにするという手も有りかも。

Offline

#14 2014-07-22 22:47:02

Nob
Guest

Re: 規定数以上の入力時にエラーが出るように

皆様回答ありがとうございます。
新規にデータベースを作成してやってみるとできました。
ありがとうございます

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 525.47 KiB (Peak: 546.38 KiB) ]