• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access2003 フォームの合計の出し方)

Access2003 フォームの合計の出し方

O_cyanの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.5

>テーブルに金額があったほうがいいのでしょうか 商品・オプションの金額に変動が無いようなら必要ありません。 金額に変動がある場合はその時点の金額の把握が必要になるので無いと現時点の金額でしか演算等できなくなるなってしまうのでそういう事がなければ必要はありません。 >オプションクエリには受注Noが関係するものがありません 受注テーブル.受注No―商品明細テーブル.受注No 商品明細テーブル.商品明細No―オプションテーブル.商品明細No のリレーションという事ですね。 オプションクエリは 受注Tbl.受注No―商品明細Tbl.受注No:商品明細Tbl.商品明細No―オプションテーブル.商品明細Noの結合でフィールドは受注Tbl.受注No:オプションテーブル.金額で 受注Tbl.受注Noをグループ化・オプションテーブル.金額を合計で求めているので良いのですよね。 上記の結合でフィールドを受注Tbl.受注No:商品明細Tbl.金額:オプションテーブル.金額でも出ますが。 オプションの合計のどの辺で行き詰っているのでしょうか。

kami21
質問者

補足

ありがとうございます。 金額は変動しませんのでそのままでいきたいと思います。 リレーションはそのとおりです。 オプションクエリはオプションテーブルとオプションマスターテーブルのみです。 オプションテーブルに数量があり、オプションマスターテーブルに単価がありますので合計を計算するクエリとなっています。 そこに商品テーブルを追加すると、 あいまいな外部結合が含まれているので、SQLステートメントを実行できません・・・ というエラーになります。 商品クエリを追加しても、 指定されたフィールド”乗率”がSQLステートメントのFROM句にある複数のテーブルを参照しました。 というエラーになります。 受注テーブルは追加できますが、これだけでは結合できませんので意味がないと思います。このようにこれ以上は追加できないようです。 DSum関数を使ってできれば一番いいのですが、条件が[受注No] = [受注No]だけでは不足しているようですので、これがわかればできそうです。 受注フォームすべての合計は計算していますので、商品クエリの抽出条件のようなものか何かで受注Noで限定できれば一番いいと思います。 このような状態で悶々としております。よろしくお願いいたします。

関連するQ&A

  • Access2003 孫フォームの合計の出し方

    お世話になっております。 受注フォームのサブフォームに商品フォームがあって、商品フォームのサブフォーム(孫フォーム)に商品オプションフォームがあります。 商品、オプションををれぞれ選択すると金額が表示されるようになっています。 この場合で各商品ごとの合計金額(商品+商品オプションが複数)を出したいのですが、どのようにすればいいでしょうか。 サブフォームでの合計の出し方はわかるのですが、孫フォームがある場合の総合計の出し方がよくわかりません。 ご教授いただければ幸いです。よろしくお願いいたします。

  • ACCESS フォームの入力で

    フォームの入力でコード番号を入力すると項目が自動入力出来るようにしたくて 2つ目のテキストボックスのコントロールソースに=DLookUp("[商品名]","テーブル2","[商品コード] = [コード] ")と入力したのですが 1つ目のテキストボックスに入力すると そのときは2つ目のテキストボックスは白紙で 一度フォームを閉じてから立ち上げると2つ目のテキストボックスにも入力されています。 これは閉じないと入力されないのでしょうか? 1つ目を入力した後に表示されるようにしたいのですが・・・。 よろしくお願いします。

  • ACCESSのテーブルとフォーム

    大変失礼ですが、いきなり質問です。よろしくお願いします。 テーブルに「受注データ」 フォームに「入力画面」というのを作ってあります。 そのフォームの一部に「商品金額」・「送料」・「消費税」・「合計金額」というテキストボックスがあります。それぞれのコントロールソースには単純にテーブルのデータを使うようにしてありますが・・・・・・「合計金額」のコントロールソースに「商品金額」・「送料」・「消費税」の合計を計算してくださいというような設定をしてしまったら、フォーム上ではしっかり計算をして表示してくれたのですが、テーブルの「合計金額」の列は空白になってしまいます。 テーブルの列が空白ではなく、フォームで表示されたその数値をテーブルの列に戻す?返す?という事を設定するにはどうしたら宜しいのでしょうか?是非ご教示下さいます様お願い申し上げます。ちなみにACCESS2000を使用しています。なぜかVBAの画面でヘルプを開こうとするとインストールされていないみたいで開かないんです。(←これ、余談です。すみません。)

  • アクセスのフォーム上で計算させたいのですが

    Win2000、アクセス2000を使用しています。 「貸し出し状況集計」フォームで「5月に貸し出した」データを抽出させ、「貸し出し期間」ごと(1年間とか6ヶ月間とか)の合計をそれぞれ集計させるようにしたいのですが。 フォームフッターにテキストボックスを作成し、テキストボックスのプロパティのコントロールソースというところに直接関数を組むと集計できましたが、貸し出し期間が空白の場合Null値となるためだと思うんですが、集計してくれません。 「貸し出し期間」の項目が多いのでなるべく空白のままにしておきたいのですが、Null値を「0」に返すNz関数があるとヘルプに書いてありましたが、テキストボックスのプロパティのコントロールソースに使用できるんでしょうか? 私が試したらエラー出てうまくいきませんでした。 おわかりになる方がいましたら、お返事ください。 アクセス初心者のため、説明がわかりづらいと思いますが、よろしくお願いします。

  • Access2010 レポート 合計の式

    Access2010 レポートについて テキストボックス コントロールソース に =Sum([回数])*3 名前:回数 としました。 そして レポートフッター に 回数の合計を出したいのですがどの様にすればよいでしょうか。 よろしくお願いします。

  • フォームのテキストにテーブルの合計額を表示したい

    「T合計」テーブルの「数字」フィールドにいくつかのレコードに数字が入力されています。 このT合計の合計額をフォームのテキストボックスに表示させたいのですがうまくできません。 クエリ1を作成し、式1: Sum(T合計!数字)としたらうまく表示できました。 フォームのテキスト0のプロパティの「コントロールソース」に「=クエリ1!式1」としたら「#Name?」になってしまいます。 また、「コントロールソース」に「=Sum([T合計]![数字])」といれたら「#エラー」になってしまいます。 そもそも「コントロールソース」に入力することが間違えなのでしょうか? どうすればテキストボックスにT合計の合計額を表示することができるのでしょう? よろしくお願い致します。

  • アクセス グループフッタへ合計

    再度同じ内容になりますが、お願いします。 再度レポートをよく確認しましたら。 グループヘッダー0 に テキストボックス コントロールソース に =Sum([回数])*3 名前:回数 としました。 そして レポートフッター に 回数の合計を出したいのですがどの様にすればよいでしょうか。 よろしくお願いします。

  • アクセスのフォーム上のテキストボックスについて

    アクセスのフォーム上のテキストボックスについて フォーム上のテキストボックスに直接数字を入力しようとしています。ただ、このテキストボックスのコントロールソースはフォームのレコードソースと違うものです。 この状況でテキストボックスに数値を直接入力しようとすると、『コントロールソースに連結しているので、編集できません。』と表示され、入力出来ません。 どうすれば、解決できるのかご存知の方、教えて下さい。宜しくお願いします。

  • Accessのフォームで

    教えてください。下のようなテーブルがあり、これを元にフォームを作成したいのですがいい方法が見つかりません。 【テーブル】  品物テーブル(品物ID、品物、製作所)  社員テーブル(品物ID、社員コード、氏名) このテーブルを元にして下のようなフォームを作りたいのです。 【フォーム】  品物ID [テキストボックス]  品物 [テキストボックス]  製作所 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス] ※社員コード、氏名が3つあるのは、同じ品物を3人が作成することがあるため。(この部分で悩んでいます) このようなフォームを作ることは可能でしょうか? また参考になるようなサイトなどあれば教えてください。 よろしくお願いします。

  • 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”になる。          行削除しても「合計金額」は変わらず、変更前のまま。 どちらも、サブフォオームの「金額計」は正しく表示されています。 以上、よろしくお願い致します。