- ベストアンサー
Accessのフォームでの合計欄を二つにわけたい
テーブル1;売上明細T フィールド名;売上明細番号、商品コード、数量、摘要 テーブル2;商品T フィールド名;商品コード、商品名、単価 クエリで売上明細と商品Tをつなぎ、下記のように表示します。 商品コード 商品名 摘要 数量 単価 明細計 (数量*販売単価) 001 物件1 作業代 1 500 500 002 物件2 作業代 2 400 800 051 物件51 作業代 1 500 500 051 物件51 交通費 1 350 350 上記クエリを元にフォームを作成(帳票形式)して、 テキストボックスで課税対象計(作業代計)と、非課税対象計(交通費計) のボックスをもちたいのですが可能でしょうか? 最終的には、売上伝票フォームに売上明細フォームをサブフォームで 取り込み、売上伝票上で合計金額を表示させたいと思っています。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フォーム上で表示するのは簡単です。 フォームフッタにテキストボックスを作りコントロールソースに =Sum(IIf([適用]="作業代",[明細計],0)) で課税対象計(作業代計)の合計 =Sum(IIf([適用]="交通費",[明細計],0)) で非課税対象計(交通費計)の合計 が表示できます。 ちなみに =Sum(IIf([適用]<>"作業代",[明細計],0))でも作業代以外の合計が表示できます。 >売上伝票フォームに売上明細フォームをサブフォームで 取り込み売上伝票上で合計金額を表示させたいと思っています。 前記のフォームをサブフォームの売上明細フォームとしてフッタに作った合計をするテキストボックスの名前を親フォームの売上伝票フォームの合計を表示するテキストボックスから指定すれば売上明細フォームの合計を売上伝票フォームの合計のテキストボックスに表示できます。 手元には2003しかありませんが2000以前のAccessでも同様にできるはずです。
その他の回答 (2)
- ngsvx
- ベストアンサー率49% (157/315)
課税対象となるのかどうかは、どうやって決まるのでしょうか? 例を見る限り、商品とは無関係なようです。 関係がありそうなのは摘要ですね。 だとすると、「摘要」と「課税対象区分」を結びつけるテーブルが必要です。 もしくは、売上明細テーブルに「課税区分」を設ける必要があります。 それと、経験的に売上明細テーブルには、「単価」、「金額」を持っていた方がいいです。 少なくても「単価」は、必要でしょう。そうでないと、商品テーブルの単価を変えると、売上明細テーブルの単価も変わってしまいます。
お礼
売上明細には「単価」は持っていましたが 「金額」は持っていませんでした。 試行錯誤くりかえしてみます!! ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
テーブル2に課税/非課税の区分があれば出来ますよ。 クエリで 課税:IIf([テーブル2].[課税区分]="課税",[テーブル1].[数量]*[テーブル2].[単価],0) 非課税:IIf([テーブル2].[課税区分]="非課税",[テーブル1].[数量]*[テーブル2].[単価],0) のフィールドを設けてこのフィールドの合計を出せば出来ます。
お礼
初めてIIFという関数を知りました。 ありがとうございます! 勉強します。
お礼
ありがとうございます!! できました!! IIFというものがあったんですね。 アクセスは難しいですが、地道にがんばります。 ありがとうございました。