みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMP12 MAC です。
フィールドA:入力日
フィールドB:計算式
入力日から150日経過していれば(150日経過とテキスト表示)If(フィールドA+150<Get(日付);"150日経過";"")で表示されるのですが、
ここに120日以上150日未満の場合(150日間近とテキスト表示)を付け足したいのですが、
Caseを使ったのですが、120日以上150日未満が上手くできません。
ご教授お願いします。
Last edited by yadashi (2013-11-06 19:27:51)
Offline
まずは どんな式を作ってうまくいかないか
そのうまくいかない式をかかれると
皆さん添削してくれると思いますよ。
Offline
Let ( TD = Get ( 日付 ) - フィールドA ;
Case ( TD ≥ 120 and TD < 150 ; "150日間近" ; TD ≥ 150 ; "150日経過" ; "" )
)
Offline
シャチさん
ありがとうございます。
Case(フィールドA+120<150 記号 Get(日付);"150間近"; フィールドA+150<Get(日付);"150経過";"")です。
最初の120日以上150日未満の表し方が分かりませんでした。
keimaさん
ありがとうございます。
Letを使えばいいのですね。
Offline
Letを使うと式が簡潔になるということで、使わなくても式はできますよ。
今回のご質問の 重要なのは、
keimaさんの式の TD ≥ 120 and TD < 150 の部分で
TDのところに Get(日付) を入れることで Letを使わずに式はできます。
Offline
Case関数は、条件の左から評価し、
それが真になった時点で以後の評価はしません。
ですから、
Case ( Get (日付) - A >150 ; "150日経過" ;
Get (日付) - A >=120 ; "150日間近" )
こう書くこともできます。
Offline
シャチさん
なるほど勉強になります。
まさに、120日以上150日未満の表現が分かんなかったです。
ありがとうございました。
チポさん
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.008 seconds, 10 queries executed - Memory usage: 508.97 KiB (Peak: 513.51 KiB) ]