初心者のFileMaker pro Q&A (旧掲示板)

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

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-02-25 09:04:39

にょろにょろ
Guest

消費税の自動計算

税込み金額
税抜き金額
税額
の3つのフィールドがあり、税込み金額のフィールドに金額を入力したら、税抜き金額・税額のフィールドが自動計算されて、
税抜き金額のフィールドに金額を入力したら、税込み金額・税額のフィールドが自動計算させるようにしたいのです。
また入力された値は個別のデータとして保存したいですが、もし内容が変われば再計算したいです。

ご教授よろしくお願いします。

#2 2014-02-25 09:29:05

barikan
Guest

Re: 消費税の自動計算

計算値の自動入力ではできなさそうなので、OnObjectSaveで設定する。

If [Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName ( 税抜 )]
  フィールド設定 [税込; Floor ( 税抜 * ( 1 + 消費税 / 100 ) )]
Else If [Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName ( 税込 )]
  フィールド設定 [税抜; Floor ( 税込 / ( 1 + 消費税 / 100 ) )]
End If

#3 2014-02-25 09:34:58

tim
Guest

Re: 消費税の自動計算

その条件を使えば、計算値の自動入力でもできるでしょう。
Case ( Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName ( Self ) ; Self ;
//フィールドに応じた計算式
)
手入力以外で変更する場合は、どこもアクティブにならないので要注意ですが。

#4 2014-02-25 12:27:45

にょろにょろ
Guest

Re: 消費税の自動計算

barikan様 tim様
ありがとうございます。手入力以外で入力する場合は要注意とありますが、既存のデータを最初にインポートする作業があるのです。やはりその場合は正しく動作しないでしょうか?
インポートするデータは、税抜き金額と税額です。

#5 2014-02-25 15:37:51

tim
Guest

Re: 消費税の自動計算

インポートの時は自動入力を処理しない設定ですればいいですけど、他のフィールドも処理できなくなります(シリアル値とか)
最初だけならインポートしてから自動入力を設定すればいいのでは。

トリガなら手入力時しか計算しない。
よくみたらbarikanさんの計算式は税率フィールドを勝手に追加してますね^^;
フィールド設定 [税込み金額; 税抜き金額 + 税額]
とかですよね。

税込はインポート後にフィールド内容の全置換で入れる。

#6 2014-02-25 21:25:43

にょろにょろ
Guest

Re: 消費税の自動計算

tim様
barikan様のトリガを利用した方法は理解できるのですが、インポートの時は動かないですよね。
ただtim様のご提案いただいた計算フィールドの場合が理解できません。

税込金額フィールド=計算フィールド
Case ( Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (税込金額) ; 税抜金額=税込金額/1.05 )

税抜金額フィールド=計算フィールド
Case ( Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (税抜金額) ; 税込金額=税込金額*1.05 )

という意味でしょうか?これでは動かないですよね・・・

#7 2014-02-26 09:39:00

tim
Guest

Re: 消費税の自動計算

今読み直したら、税額も自動計算という要望だったんですね。。。それだと税率がないと不可能だから「勝手に追加」してたのか。。
そうすると税額は入力しないでいいので計算にした方がいいかな。(税込金額-税抜き金額)
入力も必要だと、フィールドの定義順によって結果が変わるので、税額を修正した場合どっちを優先するか決めないとだめでした。
インポートに合わせて税抜き優先にするには、税込のフィールドを先に作るしかない?

税込金額フィールド=数字 計算値自動入力 既存値を置き換える
Case ( IsEmpty ( 税抜き金額 )  or Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (Self) ; Self ;
  税抜き金額  * 1.05 )

「全フィールドが空欄の場合計算しない」にしても計算されてしまうので、IsEmptyを入れました。

#8 2014-02-26 09:50:49

チポ
Member

Re: 消費税の自動計算

税込金額フィールド=計算フィールド
Case ( Get ( アクティブフィールドテーブル名 ) & "::" & Get ( アクティブフィールド名) = GetFieldName (税込金額) ; 税抜金額=税込金額/1.05 )

計算フィールドではなく、
数字フィールドの入力値の自動化・計算値・既存値置換えです。

書かれた式は
結果が無くて、デフォルトの式が違います。
デフォルトは単に
  税込金額 / 1.05
こうですね。


もっと簡略にして、税込金額フィールドは
  Case ( Get ( アクティブフィールド名 ) = "税込金額" ; Self ; 税抜金額 * 1.05 )
でいいでしょう。

Offline

#9 2014-02-26 15:23:28

にょろにょろ
Guest

Re: 消費税の自動計算

ありがとうございました。一度試してみます。
今後ともよろしく願いします。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 559.95 KiB (Peak: 579.3 KiB) ]