• ベストアンサー

FileMaker5.5の関数について。

FileMaker5.5を使用して見積書を製作しています。 見積書の中に「販売金額」「入荷金額」「掛け率(%)」のフィールドを作り、販売金額と入荷金額を入力すると掛け率が自動計算され、販売金額と掛け率を入力すると入荷金額が自動計算されるようにしたいのですが、フィールド定義にどのような計算式を入力したら良いのか解りません。 現在は、掛け率のフィールドのフィールド定義に“入荷金額/販売金額”と計算させています。 でもこれですと、掛け率が入力できません。 これを相互入力(と言うのでしょうか?)で計算させたいのですが・・。 上記の様な計算が出来ないのであれば、上記の様なフィールドの作り方を教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

私なら「入荷金額」と「掛け率」のどちらか片方しか入力してはいけないとして、 フィールド定義を 販売金額: 数値 選択: テキスト 値一覧;「入荷金額」「掛け率」 入力: 数値 掛け率: 計算; if(選択="掛け率", 入力, 入力/販売金額) 入荷金額: 計算; if(選択="入荷金額", 入力, 入力*販売金額) というふうな感じにしますね。「選択」フィールドはプルダウンメニューかラジオ ボタンにしておけばいいでしょう。

urizunn
質問者

お礼

なるほど!!入力フィールドを“入荷金額”と“掛け率”で、兼用するのですね。こんな事も出来るのですね。目から鱗です。ありがとうございます。

その他の回答 (2)

  • himajin1
  • ベストアンサー率43% (184/422)
回答No.2

私なら、  1:販売金額  2:入荷金額入力用  3:掛け率入力用 の3つの数字フィールドと、  4:入荷金額  5:掛け率 の2つの計算フィールドを作ります。 入荷金額の計算式は、 If(IsEmpty(入荷金額入力用), 販売金額 * 掛け率入力用, 入荷金額入力用) 掛け率の計算式は、 If(IsEmpty(掛け率入力用), 入荷金額入力用 / 販売金額, 掛け率入力用) 入力用と、表示用を別のフィールドにしてしまうと言うことです。 これだけですと、入荷金額入力用 と 掛け率入力用 の両方に、数字が入力されたときに、エラーが表示されないので、それも、考慮して、エラー表示専用の、計算フィールドを作っておいたほうが、安全です。

urizunn
質問者

お礼

ありがとうございます。 「入力用と表示用に分ければ・・。」とも考えては居たのですが初心者なもんで別け方が解りませんでした。 IfとIsEmptyと()で出来るのですね。 とても参考になりました。 早速、制作してみます。

noname#83007
noname#83007
回答No.1

それは再帰定義になるので無理かと思います。 ボタンというワンクッションを置いてよいのなら、スクリプトで計算させるのはいかがでしょうか?。

urizunn
質問者

お礼

再帰定義となり、計算出来ないんですね。 スクリプトで計算させるのが一番簡単そうですね。 ありがとうございます。勉強にになりました。