|
▼超初心者 さん:
こんにちは。
フォームとテーブルの関係などが当方には解りづらいので
超初心者 さんが何をされたいのかがイマイチ伝わりません。
以下が何かのヒントになれば幸いです。
フォーム上にリストボックスを配置。
名前:lstエリア
値集合ソース:SELECT エリア FROM T_購入高 GROUP BY エリア;
複数選択:標準
フォーム上にコマンドボタンを配置。
名前:実行
コマンドボタン「実行」の「クリック時」のコードに
Private Sub 実行_Click()
'要参照設定 Microsoft DAO x.x Object Library
Dim strSQL As String
Dim varItem As Variant
Dim QD As DAO.QueryDef
Dim i As Long
If DCount("*", "MSysObjects", "Name ='Q_Temp'") > 0 Then _
DoCmd.DeleteObject acQuery, "Q_Temp"
For Each varItem In Me.lstエリア.ItemsSelected
strSQL = strSQL & ",'" & Me.lstエリア.ItemData(varItem) & "'"
Next
strSQL = "SELECT エリア, Sum(購入高) AS 合計 " _
& "FROM T_購入高 " _
& "GROUP BY エリア " _
& "HAVING エリア " _
& "IN(" & Mid(strSQL, 2) & ");"
Set QD = CurrentDb.CreateQueryDef("Q_Temp", strSQL)
Set QD = Nothing
End Sub
リストボックスで選んだ項目だけ集計されるクエリ「Q_Temp」が
作成されている事を確認されてみて下さい。
|
|