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

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

O_cyanの回答

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

商品フォームには1つの商品しか表示しないという事で良いのでしょうか?商品毎に商品フォーム・オプションフォームに入力という事ですね。 商品フォーム・オプションフォームに一つではなく全て入力できれば各フォームの合計しているコントロールを =[受注フォーム]![商品フォーム]![合計]+ [受注フォーム]![商品フォーム]![オプションフォーム]![合計] で参照するだけで済むのに処理が多くなると大変ですね。 例えばクエリで受注テーブルの受注Noと商品明細テーブル・オプションテーブルの受注Noでリレーションしフィールドは受注テーブル.受注No・商品明細テーブル.金額・オプションテーブル.金額の3つをフィールドとします。 受注テーブル.受注Noの抽出条件に [Forms]![受注フォーム]![受注No] として受注フォーム上の受注Noを抽出条件に指定しグループ化して商品明細テーブル.金額・オプションテーブル.金額を合計にすれば各合計金額が演算できますよね。 このクエリを元に各合計金額を表示するコントロールを受注フォームに配置。 受注フォームのプロパティを開きレコードソースにSQLステートメントで追加し各合計金額のフィールドを追加。 商品フォームでレコードを追加し必ずオプションフォームで入力があればオプションフォームでレコードの移動時などのイベントでForms![受注フォーム].Requeryとして再クエリをする。この時点で商品フォーム上のレコードが商品明細テーブルに保存されていないようだと商品フォームでもレコードを保存するDoCmd.RunCommand acCmdSaveRecordとRequeryが必要になります。 Requeryのタイミングは色々試してみてください。

kami21
質問者

補足

お世話になっております。 以前に似たような質問をしたのですが、そのときは結局うまくいかずにずっと悩んでおりました。 おかげさまで課題であったオプションの合計を計算することができました。 ありがとうございました。 あともう少しなのですが、オプションの合計をテキストボックスに表示させようと思います。その次の、 > 受注フォームのプロパティを開きレコードソースにSQLステートメントで追加し各合計金額のフィールドを追加。 この部分に何かを追加しようとすると、受注フォームのほかの部分がすべてエラーになったり、受注フォームのすべてのフィールドを追加してからオプションの合計らしいものを追加しようとしても表示されなかったり、うまくできません。 いろいろ調べてみましたが、具体的に何をどうすればいいかがわかりませんでした。 すみませんが、教えていただければありがたいです。 よろしくお願いいたします。

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