みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win10とFM19を使用しています。
[契約名]が「会員年会費」と「サブ会員年会費」は
[請求月]というフィールドに、[入会日]が4月を超えていれば、翌年の4月1日に
ホームページ掲載料は、01、02ともに、[入会日]の翌月の1日に自動入力させたいのですが、
下記のような計算を記述しましたが、
------------------------------------------------------------------------------------------------------------------
Case (
契約名 = "会員年会費" ; Case ( 請求月=IsEmpty(入会日) ; Date ( 4 ; 1 ; Year ( 入会日 + 275 ) ) ;
契約名 = "サブ会員年会費"; Case ( 請求月=IsEmpty(入会日) ; Date ( 4 ; 1 ; Year ( 入会日 + 275 ) );
契約名 = "ホームページ掲載料 01" ; Case ( 請求月=IsEmpty(入会日) ; Date ( Month ( 入会日 ) + 1 ; 1 ; Year ( 入会日 ) );
契約名 = "ホームページ掲載料 02" ; Case ( 請求月=IsEmpty(入会日) ; Date ( Month ( 入会日 ) + 1 ; 1 ; Year ( 入会日 ) )
)))))
------------------------------------------------------------------------------------------------------------------
一番上の会員年会費のみ反映され、その下に記述した分が反映されないのですが、わかりません。
サブ会員年会費を一番上に並びを変えると、サブ会員年会費だけ反応します。
教えて頂けますでしょうか。
Offline
Case 関数は上(最初の条件)から順に評価されていき、条件を満たした時点で結果が返ります。
1番目、2番目、3番目の条件を満たしているなら1番目の結果になり、2番、3番の結果にはなりません。
Offline
質問を全く理解できていませんが、、
> 請求月=IsEmpty(入会日)
この
IsEmpty(入会日)
は1か0を返しますよ。
Offline
Mozさん教えて頂き有難うございます。
勉強になりました。
チポさん有難うございます。
契約名を入力し入会日を次に入力するのですが、 請求月=IsEmpty(入会日)をいれないと
契約日を入力した時点で、請求月のフィールドに?が入ってしまう為、こちらを入れていました。
Offline
そういうことなら、
Case関数の最初の条件と結果に
IsEmpty ( 入会日 ) ; ""
をいれればいいんじゃないかな。
書かれた式の条件と結果は全く理解できていません。。
Offline
ああ、意図を理解できたような。。
契約名フィールドに書かれた値以外の値がないとして、
Case ( IsEmpty ( 入会日 ) ; "" ;
契約名 = "会員年会費" or 契約名 = "サブ会員年会費" ; Date ( 4 ; 1 ; Year ( 入会日 + 275 ) ) ;
Date ( Month ( 入会日 ) + 1 ; 1 ; Year ( 入会日 ) )
でいいのでは。
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 511.18 KiB (Peak: 518.23 KiB) ]