初心者のFileMaker pro Q&A

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

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2019-07-11 17:55:39

いっと
メンバー

[解決] case関数でうまくいきません・・・

FM18を購入し、作成しておりますが、うまくいかない部分があってのご質問となります。

【フィールド】
①「家賃保証委託料備考」(値一覧で特定のテキストを選べるようにしています。)
②「月額保証料」(値を返したいフィールドで、タイプはテキスト、入力値の自動化で下記計算式を入れてますが、うまくいきません。)
③「ハウスクリーニング費用」(先払いと後払いがあります。)

【やりたいこと】
①「家賃保証委託料備考」というフィールドに"初回総賃料の80%&毎月500円"というテキストが入ったときは「月額保証料」のフィールドに500円
②「家賃保証委託料備考」というフィールドに"事務手数料&毎月の保証料"というテキストが入って、かつ「ハウスクリーニング費用」というフィールドに数字が入ったら(ハウスクリーニング費用がマチマチな為)
「月額保証料」以外の月額費用の合計に2%の金額が「月額保証料」のフィールドに入る。
③「家賃保証委託料備考」というフィールドに"事務手数料&毎月の保証料"というテキストが入って、かつ「ハウスクリーニング費用」というフィールドに何も入っていない場合(ハウスクリーニング費用後払い)
「月額保証料」以外の月額費用の合計に5%の金額が「月額保証料」のフィールドに入る。

という3つのケースの場合だけ、値が返るようにしたいです。

【現在の計算式】
Case (
家賃保証委託料備考 = "初回総賃料の80%&毎月500円" ; 500 ;
家賃保証委託料備考 = "事務手数料&毎月の保証料" and
IsEmpty ( ハウスクリーニング費用 ) ;
Round ( ( 月額賃料合計 + 月額共益費合計 + 月額駐車場料金①合計 + 月額駐車場料金②合計 + 月額その他費用合計) * .05 ; 0 ) ; "" ) ;
家賃保証委託料備考 = "事務手数料&毎月の保証料" and
IsEmpty ( ハウスクリーニング費用 ) ; "" ;
Round ( ( 月額賃料合計 + 月額共益費合計 + 月額駐車場料金①合計 + 月額駐車場料金②合計 + 月額その他費用合計) * .02 ; 0 ) )

これだと、うまくいきません。
どなたか、お詳しい方、ご教示いただけると助かります。

オフライン

#2 2019-07-11 19:39:03

koeda
メンバー

Re: [解決] case関数でうまくいきません・・・

Case文の構文が間違っているようです。

Case(
  条件1;   条件1の時の値;
  条件2;   条件2の時の値;
  条件3;   条件3の時の値;
  デフォルト値
)
です。
https://fmhelp.filemaker.com/help/18/fm … /case.html

貼り付けてくださった式は
Case(
  条件1;   条件1の時の値;
  条件2;   条件2の時の値; "";
  条件3;   ""; 条件3の時の値
)
になっており、条件2と条件3が同じで、それぞれ不成立の時の結果として""を返したいようですが、
FMのCaseの文法に適っていません。

②は、否定演算子notを使って
家賃保証委託料備考 = "事務手数料&毎月の保証料" and not IsEmpty ( ハウスクリーニング費用 ) ;
③は、そのまま
家賃保証委託料備考 = "事務手数料&毎月の保証料" and IsEmpty ( ハウスクリーニング費用 ) ;
とし、①〜③のいずれでもない場合のデフォルト値 ""(0円の方が良い?)を返すと良いと思います。

編集者 koeda (2019-07-12 09:37:41)

オフライン

#3 2019-07-12 12:08:07

いっと
メンバー

Re: [解決] case関数でうまくいきません・・・

Koedaさん、できました!ありがとうございます!

Isemptyを使ったら、必ず;””;を入れないといけないと思ってました!
そうすると絶対;が多くなるので、どうすれば良いかわからなかったです!
ありがとうございます!

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer