• ベストアンサー

★アクセス2000★条件付き合計金額の出し方

請求書をメインフォームとサブフォームで作っています。 サブフォームは、「商品ID」「商品名」「課税区分」「単価」「金額」からなり、受注明細を入力しています。 商品は2つに分類され(A・B)、それぞれの合計金額を計算したいのですが、どうやったらいいのか分からないので、ご回答をお願いします。 分類の仕方ですが A⇒「商品ID」 0001~0100 B⇒「商品ID」 0101~0200 です。 そしてもう1つ、消費税の計算もうまくできません。 「課税区分」には 課税 ⇒1 非課税⇒2 と入力してあります。 どなたかご回答をお願い致します。

  • non23
  • お礼率76% (33/43)

質問者が選んだベストアンサー

  • ベストアンサー
  • karon24
  • ベストアンサー率40% (8/20)
回答No.1

最初に、サブフォームに使っている「商品ID」「商品名」等は テーブルを元にしているんですよね? ここでは「商品テーブル」というテーブルがあるとしておきます。 まず合計ですが、DSum関数を使ってはどうでしょうか? 合計金額を格納する変数、lngTotalA,lngTotalBがあるとします。 lngTotalA = DSum("金額","商品テーブル","商品ID >= '0001' AND 商品ID <= '0100') lngTotalB = DSum("金額","商品テーブル","商品ID >= '0101' AND 商品ID <= '0200') これでそれぞれの合計が変数に格納されるはずです。 最後の引数が対象を絞る条件になっているので、ここを変更すれば例えばCという分類ができても対応できると思います。 次に消費税ですが、以下の通りでできると思います。 IIf(Nz([課税区分],0) = 1,Nz([金額],0) * 0.05,0) 課税区分が 1 であれば、金額に0.05をかけて消費税を算出、 それ以外であれば、0 を返すようにしています。

non23
質問者

お礼

お返事が遅くなりましたが、無事解決しました。 ありがとうございました。

関連するQ&A

  • アクセス★非課税、課税の合計金額計算の仕方

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

  • ★Access★2つのサブフォームの計算

    受注管理として、注文書の作成入力をしています。 『メインフォーム』で、顧客先などを入力し、『サブフォームA』で受注明細を入力しています。そして受注種類が2つあるので、フィールドの違う受注明細の『サブフォームB』もあるんです。各サブフォームには数量・単価・金額が入っています。 『サブフォームA』『サブフォームB』の両方に注文がある場合は、各サブフォームの合計(=[Form]!サブフォームA!金額合計)を出し、その合計同士を足して総合計金額(A+B)が『メインフォーム』にちゃんと表示されます。しかし、『サブフォームA』にだけ注文がある場合、『A』合計は表示されますが、『B』合計が空欄になってしまって、A+Bの合計が計算されないのです。さらにレポート印刷もできないのです。 どうすればいいのでしょうか?合計プロパティの既定値を0にしてもだめなんです。誰か教えて下さい。

  • Accessでサブフォームの合計をメインフォームに

    Access2007で開発しています。 メインフォームにサブフォームを貼り付けており、 サブフォームに入力した「数量」「単価」から「金額」を計算して表示し、 その合計金額をメインフォームのテキストボックス(非連結)に表示しようと しています。 サブフォームは行単位で追加、削除が可能です。 サブフォームの更新結果が正しくメインフォームに表示されずに困っています。 おわかりの方、おられましたらお教え頂きたく、よろしくお願い致します。 【サブフォーム】   ・レコードソース:T_明細   ・[詳細]項目:数量・・・レコードソース=T_明細・数量        単価・・・    〃    =T_明細・単価        金額・・・数量および単価のAfterUpdateで計算して表示。    [フォームフッター]項目:金額計・・・コントロールソース=Sum([金額])   ・Vbaコード:   Private Sub Form_AfterUpdate()   Forms![メインフォーム].合計計算   End Sub   Private Sub Form_Delete(Cancel As Integer)   Forms![メインフォーム].合計計算   End Sub 【メインフォーム】  ・テキストボックス:「合計金額」(非連結) Public Sub 合計計算()    Me.サブフォーム.Requery   方法1: Me!合計金額 =DSum("金額", "T_明細", (キー項目指定 記述省略))   方法2: Me!合計金額 = Me![サブフォーム].[Form].[金額計] End Sub ここで、 方法1の場合:数量、単価の変更入力及び行追加は正しく動作するが、          行削除の後、メインフォームの「合計金額」が再計算されず、変更前のまま。 方法2の場合:数量、単価の変更入力及び行追加すると、「合計金額」が”0”になる。          行削除しても「合計金額」は変わらず、変更前のまま。 どちらも、サブフォオームの「金額計」は正しく表示されています。 以上、よろしくお願い致します。

  • 合計金額に合うように単価の算出方法を教えて下さい。

    見積もりの内訳を先方に提出しなければなりません。 合計金額は先に決まっていて、今は単価が合計に合うように計算する必要があります。 しかし合計に合う単価を求める計算方法が分かりません。ご教示願います。 以下の通りです。 合計金額:560,000円 商品A:333,000個 商品B:45,000個 合計が560,000円になるように商品AとBの単価を出したいのですが… なるべく、商品AとBの単価は同じくらいの金額にしたいです。 最悪、同じ商品の中でも、~個は~円、残りの~個は~円と単価を二つ算出しても構いません。 上記の合計金額は税抜き価格です。消費税は計算に含まなくて結構です。

  • 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  上記クエリを元にフォームを作成(帳票形式)して、 テキストボックスで課税対象計(作業代計)と、非課税対象計(交通費計) のボックスをもちたいのですが可能でしょうか? 最終的には、売上伝票フォームに売上明細フォームをサブフォームで 取り込み、売上伝票上で合計金額を表示させたいと思っています。 よろしくお願いします。

  • 受注明細テーブルについて

    Access2013 vba 今工事関係のシステムを作っています。 ・工事受注の情報を入力する画面A ・工事部材の注文明細を入力する画面B(帳票・サブフォーム) ・工事の管理情報を入力する画面C(単票・メインフォーム) ・工事の発注明細を入力する画面C2(帳票・サブフォーム) ・受注明細画面D(帳票フォーム) とあるとして 【A】受注情報管理 ・受注ID(main key) ・受注日 ・依頼内容 ・部材注文合計金額 ・発注合計金額 【B】部材注文明細 ・部材明細ID2 (main key) ・受注ID(foreign key) ・品番 ・商品名 ・単価 ・数 ・摘要 【C】工事管理情報→依頼先会社毎に、受注IDに紐づく ・工事管理ID (main key) ・受注ID (foreign key) ・依頼先会社ID(foreign key) ・工事開始日 ・工事終了日 【C2】工事管理─仮発注明細 ・明細ID4(main) ・工事管理ID ・項目名 ・単価 ・数量 ・摘要 受注明細を、部材注文明細と仮発注明細から作成するやり方を考えました。 BとC2のレコードから、受注IDをキーにして、全てのレコードを以下のDの受注明細テーブルに格納する・・・。この時、B, C2と、Dは非同期→すると、もし、部材明細や仮発注明細が変更されると、Dが連動してその変更内容が反映出来ません。このやり方が良いのかとうか、いまいちわかりません。ご助言をお願いします・・・。 【D】受注明細 ・受注明細ID5(main) ・受注ID ・項目名 ・単価 ・数量 ・摘要 ・請求ID

  • Access サブフォームについて

    いつもお世話になっております。 例に沿って質問します。 請求フォームがあり、 そこに請求明細サブフォームがあります。 明細のほうには、商品マスタと紐付いて、 商品ID、商品名、単価が表示されます。 明細.商品IDと商品マスタ.商品IDを紐付けることは できたのですが、(リレーションによって) 単価を商品マスタからひろうことができません。 (明細テーブルにも、単価欄があります) 明細.単価にupdateしたいのです。 ご教授宜しくお願いします。

  • Excel(またはAccessで)日付は個々に、金額は合計で出したいとき

    下記のような表があります。 商品名 抽出日   受注日  納品予定日 受注金額 A   2008/12/2 2008/11/15 2009/1/14  3000 A   2009/1/5  2008/11/15 2009/2/14  2000 A   2009/1/5  2008/11/15   2009/2/14   500 A   2009/1/5  2008/11/15  2009/1/31   500 B   2008/12/2 2008/11/15 2009/1/14  3000 B   2009/1/5  2008/11/15 2009/2/14  2000 これを抽出日と商品名、納品予定日を基準にして、わかりやすくしたいのです。 例えば 商品名 抽出日 納品予定日 2009/1 2009/2  A   2008/12/2        3000 A   2009/1/5          500    2500 B    2008/12/2          3000 B    2009/1/5           2000  といったような表です。 ピボットテーブルを使って作成してみましたが、 1行には1つの納品予定日の金額しか入らないので、 Aの2009/1/5に抽出したデータは2行に分かれてしまいます。 それだと差が計算しづらく、わかりにくいので困っています。 どうにかして、納品日のズレを管理したいのですが、いい方法はないでしょうか。

  • accessのレポートで困ってます。

    受注伝票を印刷するためのレポートを作っていますが 複数商品を購入した際に購入商品を全て表示させる方法が分かりません。 Access2002で受注管理のテンプレートを 自分なりにカスタマイズして使っています。 受注に関するテーブルは3つあります。 関連するフィールドは下記の通りになっています。 【受注】  受注ID … key   【商品】  商品ID … key  商品名  単価 【受注明細】  受注明細ID … key  受注ID … 受注テーブルの受注IDと一対多  商品ID … 商品テーブルの商品IDと一対多  数量  単価 レポートには、複数商品を購入した場合に 全ての商品名と購入数、価格を表示させたいと思います。 どうぞよろしくお願いいたします。

  • リピートしている商品の金額を調べたい!

    教えて!頂きたいです。 リピートされている商品の合計金額を別ワークブックに集計希望です。 新規・リピートを含む受注が全てが記されている、受注リストがあります。 新規には区分1の入力があります。 区分| 商品名 | 金額 1   A薬品   500     A薬品   600     A薬品   400 この場合、「区分1」でない、600円と400円を集計して 違うワークブックに「A薬品」「1000円」としたいのです。 何の感じでいけばいいのか、わかりません。 お教えいただけますでしょうか?