みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
win10
FM14PRO使用中です。初心者です。
使用するテーブルは1つ
使用しているフィールドは3つ
・入退去状態フィールド (テキスト)
・入居年月日フィールド (日付)
・町費フィールド (数字)
したいこと
今回新たに計算フィールド(試算結果数字)を作成しました。その中に
①入退去状態フィールド が”入居中”になっている場合は町費フィールドの数字を返したい
②(入退去状態フィールド が”入居中”になっていない場合でも)入居年月日フィールドが今月の1日から15日までの日付が入っている場合にも町費フィールドの数字を返したい
そこで以下のように考えたのですが・・・
Case ( 入退去状態 ="入居中";町費;
Case ( 入居年月日=
Date ( Month ( Get ( 日付 ) ) ; 1 ; Year (Get ( 日付 ) ) )&"..."& Date ( Month ( Get ( 日付 ) ) ; 15 ; Year (Get ( 日付 ))); 町費 ))
①はうまくいきますが②はうまく結果が返ってこないのです。何が問題なのでしょうか?ご教授よろしくお願いします。
Offline
&"..."&
は条件式中に使用できないので
Date ( Month ( Get ( 日付 ) ) ; 1 ; Year (Get ( 日付 ) ) ) <= 入居年月日 and
Date ( Month ( Get ( 日付 ) ) ; 15 ; Year (Get ( 日付 ))) >= 入居年月日
に置き換えてください。
man様
ありがとうございます。
なるほど&"..."&は計算式には入れられないですね・・・
実装して動きました。本当に助かりました。
一つ確認させてください
「<=」や「>=」を表記していましたが、これって「≧」「≦」と同じ意味ということで合っていますか?そうであれば「<=」や「>=」であらわした方が良い理由などあるのでしょうか?
ご教授よろしくお願いします。
Offline
「<=」と「≤」「>=」と「≥」「≠」と「<>」は同義です。どちらでも構いません。
macOS では ≤≥≠ がキーボード入力で出ますが、(option+<、option+>、option+^)
Windows では単語登録でもしなければ出ないんじゃないかと。
楽なほうで良いと思いますよ。計算式指定ダイアログボックスの演算子ボタンからも挿入できますし。
パフォーマンスに有意差は無いでしょう。
Offline
Case関数は
Case ( 条件1 ; 結果1 ; 条件2 ; 結果2 ;・・・・)
といくつも並べられますから、Caseを入れ子にする必要はありませんね。
Offline
複合条件で書くのではなく、
Case (
入居年月日 < Date ( Month ( Get ( 日付 ) ) ; 1 ; Year (Get ( 日付 ) ) ) ; "" ;
入居年月日 ≤ Date ( Month ( Get ( 日付 ) ) ; 15 ; Year (Get ( 日付 ))) ; 町費
)
という形でも同じです。あとで読み易いようにしましょう。
Offline
理解できました。毎回ありがとうございます。
Offline
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 512.13 KiB (Peak: 516.67 KiB) ]