質問: アクセス★非課税、課税の合計金額計算の仕方 見積書の入力をしています。 メインフォームとサブフォームがあり、サブフォームでは受注明細を入力できるようになっています。 サブフォームの合計金額計算で、単純に【小計】【消費税】【総計】は計算できるのですが、非課税の受注が混ざっている場合、うまくいきません。 非課税項目にチェックを入れて区別などをし、そのチェックが入っていないものだけの消費税を計算できるようにしたいのですが、具体的にどのようにしたら良いのでしょうか? サブフォームのフィールドは、品名・数量・単価・金額です。 過去の質問は探しましたが見つけられませんでした。 過去にあったら申し訳ないのですが、どうか宜しくお願いします。
回答: レコード毎に課税、非課税のものが混在するのなら、レコード毎に課税区分と消費税のフィールドが要ると思います。 ですから受注明細テーブルのフィールド構成は下記の様にします。 品名 課税区分 数値・byte 1=課税 2=非課税 3=内税とする 数量 単価 金額 消費税 サブフォームの数量と単価のプロパティ→イベント→更新後の処理に次のようなコードを記述します。(数量のイベントプロシージャだけ記述しておきます。単価のイベントプロシージャにも同様のコードを記述すれば、数量又は単価を入力したときに計算結果が金額と消費税フィールドに算出されます。 private sub 数量_afterupdate() if 課税区分=1 then 金額 = nz(数量) * nz(単価) 消費税 = int(nz(数量) * nz(単価) * 0.05) elseif 課税区分=2 then 金額 = nz(数量) * nz(単価) 消費税 = 0 elseif 課税区分=3 then 金額 = (nz(数量) * nz(単価)) - int((nz(数量) * nz(単価)) / 1.05 * 0.05) 消費税 = int((nz(数量) * nz(単価)) / 1.05 * 0.05) else 金額 = 0 消費税 = 0 end if end sub こんなのでいかがでしょう。