みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ファイルメーカーで、あるフィールド上に期限を表示したいです。
A、B、C、D、E、Fの5つのフィールドがあり全て日付フィールドです。
以下の条件を満たす数式を作りたいのですが、うまく作れません。
教えて頂きたいです。
Bフィールドが埋まっていたら(空欄ではない)、Cの値を表示。
BかつDが埋まっていたら(空欄ではない)、Eの値を表示したいです。
BもDも埋まっていなければAを表示したいです。
Case関数でもIF関数でも構いません。
どのように書けばいいでしょうか?
以下の条件を満たす数式を作りたいのですが、うまく作れません。
何がどううまくいかないのか
教えて頂きたいです。
Offline
その計算ははどこに書くのでしょう?
条件が複数あるときはCase関数がセオリーですね。
おそらく文脈から察するにFフィールドもしくは他の計算フィールドに書くとして、
Case( Bフィールド <> "" ; Cフィールド ; Bフィールド <> "" and Dフィールド <> "" ; Eフィールド ; Bフィールド = "" and Dフィールド = "" ; Aフィールド )
ですかね。
Offline
そのままだと
Case(B≠"" and D≠"" ; E ; B≠"" ; C) ですけど。
Offline
Case(isempty(B) and isempty(D);A;
not isempty(B) and not isempty(D);E;
not isempty(B);C
)
ではないのか?
Offline
「Bフィールドが埋まっていたら」と言っておきながら後から「BかつDが埋まっていたら」という風に条件を覆すから、ややこしくなるんです。
Case(
B="" and D="" ; A ; //どっちも空欄
D="" ; C ; //Bだけ入っている
E //両方入っている
)
あ、
>BもDも埋まっていなければAを表示したいです。
これを見ていなかった。
要はCase関数は式の左から計算していって、条件に合致したら
その後は計算をストップするので組み方に注意が必要です。
Offline
Case(isempty(B) and isempty(D);A;
not isempty(B) and not isempty(D);E;
not isempty(B);C
)ではないのか?
おかげさまでできました。
ありがとうございました。
Bが空欄、Dが空欄ではない
の場合が分かりませんね。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 513.93 KiB (Peak: 518.47 KiB) ]