こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

サブフォームの値をメインフォームで表示

Accessのサブフォームの値をメインフォームで表示する方法をお教え下さい。

画像にありますように、各コントロールは以下になります。
http://upload.fam.cx/cgi-bin/img-box/th6120120093700.jpg

MAIN_FORM1(このフォーム)
subform_1(サブフォーム)
combo1(コンボボックス)
textbox1(テキストボックス)

subform_1はクエリオブジェクト、「Q_月報」を呼び出し、以下のSQLでできています。
--------------------------------------------------------------------------------------------------
SELECT Format([伝票日付],"yyyy-mm") AS 月, 出庫テーブル.商品番号, 商品マスタ.商品名, Sum(出庫テーブル.数量) AS 数量の合計
FROM 出庫テーブル INNER JOIN 商品マスタ ON 出庫テーブル.商品番号 = 商品マスタ.商品番号
WHERE (((Format([伝票日付],"yyyy-mm"))=[Forms]![月報]![リスト2]))
GROUP BY Format([伝票日付],"yyyy-mm"), 出庫テーブル.商品番号, 商品マスタ.商品名;
--------------------------------------------------------------------------------------------------

MAIN_FORM1には下記のVBAコードが書かれています。
--------------------------------------------------------------------------------------------------
Private Sub リスト2_Click()
Me!月報サブフォーム.Requery
End Sub
--------------------------------------------------------------------------------------------------

MAIN_FORM1を開き、コンボボックスにある日付を選択すると、日付をキーにサブフォームでrequeryされるようになっています。

わからない点は、MAIN_FORM1にtextbox1に、サブフォームの「数量の合計フィールド」の合計を表示したいと思います。

textbox1のコントロールソースに、「=Sum([Forms]![月報サブフォーム]![数量の合計])」をやりましたが、うまく表示ができません。エラーと表示されます。どのように注文フォームに表示されている、「数量の合計フィールド」の合計をテキストボックスに表示できるでしょうか?

投稿日時 - 2012-01-20 23:49:57

QNo.7256716

困ってます

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

textbox1 のコントロールソースを下記のように設定します。

=DSum("数量","出庫テーブル","Format([伝票日付],'yyyy-mm')='" & [リスト2] & "'")

リスト2のクリック時のイベントプロシージャを下記のように変更。

Private Sub リスト2_Click()
Me!月報サブフォーム.Requery
Me!textbox1.Requery
End Sub


説明でのオブジェクト名と、SQL、コードのオブジェクト名が矛盾してますので、
SQL、コードの方が正しいとして回答してます。

投稿日時 - 2012-01-21 01:01:23

お礼

ありがとうございます!助かりました。今度試してみます!

投稿日時 - 2012-02-03 22:12:27

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問