プロが教える店舗&オフィスのセキュリティ対策術

見積書の入力をしています。
メインフォームとサブフォームがあり、サブフォームでは受注明細を入力できるようになっています。
サブフォームの合計金額計算で、単純に【小計】【消費税】【総計】は計算できるのですが、非課税の受注が混ざっている場合、うまくいきません。

非課税項目にチェックを入れて区別などをし、そのチェックが入っていないものだけの消費税を計算できるようにしたいのですが、具体的にどのようにしたら良いのでしょうか?
サブフォームのフィールドは、品名・数量・単価・金額です。
過去の質問は探しましたが見つけられませんでした。
過去にあったら申し訳ないのですが、どうか宜しくお願いします。

A 回答 (1件)

レコード毎に課税、非課税のものが混在するのなら、レコード毎に課税区分と消費税のフィールドが要ると思います。



ですから受注明細テーブルのフィールド構成は下記の様にします。

品名
課税区分 数値・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

こんなのでいかがでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます!!
コードまで教えていただいたので、すぐにできました。
助かりましたm(__)m

お礼日時:2002/11/06 16:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!