みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
以前こちらのフォーラムでご教授いただき、下記の仕様を教えていただきました。
各フィールドの計算値に下記の内容が入っています。税額計算は問題なく動いているのですが、フィールド1)又はフィールド2)の値を消したときに、その逆の数値が残ってしまいます。
現状のフィールドを計算方法を変えずに、フィールド1)又はフィールド2)のどちらかの値だ消去されたら、フィールド1)フィールド2)フィールド3)のどの値も消えるようにしたいのです。
是非ご教授よろしくお願いいたします。
1)フィールド(keiyakugaku)税込金額
Case ( IsEmpty ( keiyakugaku_notax ) or Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (Self) ; Self ;
Truncate ( keiyakugaku_notax * master_tax ; 0 ))
2)フィールド(keiyakugaku_notax)税別金額
Case ( IsEmpty ( keiyakugaku_notax ) or Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (Self) ; Self ;
Truncate ( keiyakugaku_notax * master_tax ; 0 ))
3)フィールド(keiyakugaku_tax)税額
Case ( IsEmpty ( keiyakugaku ) = 0 and IsEmpty ( keiyakugaku_notax ) = 0 ; keiyakugaku - keiyakugaku_notax )
環境はWIN/MAC ファイルメーカー13です。
Offline
ご質問の1)と2)の式が全く同じですが、これで税額が正しく算出されますか?
そもそもこの式は計算値自動入力の計算式なのですか?
Last edited by koeda (2019-11-06 17:39:18)
Offline
コピペ間違えました。こちらでよろしくお願いいたします。
1)フィールド(keiyakugaku)税込金額
Case ( IsEmpty ( keiyakugaku_notax ) or Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (Self) ; Self ;
Truncate ( keiyakugaku_notax * master_tax ; 0 ))
2)フィールド(keiyakugaku_notax)税別金額
Case ( IsEmpty ( keiyakugaku ) or Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (Self) ; Self ;
Ceiling ( keiyakugaku / master_tax ) )
3)フィールド(keiyakugaku_tax)税額
Case ( IsEmpty ( keiyakugaku ) = 0 and IsEmpty ( keiyakugaku_notax ) = 0 ; keiyakugaku - keiyakugaku_notax )
Last edited by nyoro (2019-11-06 17:31:48)
Offline
2個のフィールドの間で、計算式が相互参照になり、理論上は無限loopになるでしょう。
また、self を使っているので自動入力の計算式のようですが、そこでは取得関数はどの様な値を返すかわかりません。(仕様外です)
さらに、Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) は、値を返さないのでは。
Last edited by Shin (2019-11-06 18:44:25)
Offline
OnObjectModifyなどでフィールドが消されたことを検知して、他のフィールドをクリアするとかしないと無理のような?
Offline
このやり方もわからなくて教えていただいたのなので、ちょっとわからないのですが(勉強不足です)、なぜか現状はうまく機能しています。ありがとうございます。勉強してみます・・・・
Offline
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 513.27 KiB (Peak: 517.8 KiB) ]