
Access パラメータークエリ VBAの書き方について
よろしくお願いします。
①クエリでデータを絞る
②絞ったデータを行ごとにまとめるクエリにかける
③その結果をボタンを押したらテキスト5にひとまとめにする
といったものをいくつか作りました。
こちらは固定のものなので問題なく動きましたが、新しく①をパラメータークエリでデータを絞る必要があり、既存のコードを元に以下のコードを書いて③を実行しようとした際、
「3061/パラメーターが少なすぎます。4を指定してください」というエラー文が出ました。
Private Subコマンド11_Click()
Dim SQL As String
Dim rs As Recordset
Me!テキスト5 = Null
SQL = "SELECT * FROM ひとまとめクエリ"Set rs = CurrentDb.OpenRecordset (SQL)
Do Until rs.EOF
Me!テキスト5 = M!テキスト5 &rs![ひとまとめ] &vbCrLf
rs.MoveNext
Loop
Set rs = Nothing
End Sub
*ひとまとめクエリが②のクエリ名です
*[ひとまとめ]はテキスト5と同じフォーム内にあるひとまとめクエリのデータが表示されているテキストボックスの名前です。
*デバッグの際、Set rs : CurrentDb.OpenRecordset (SQL)の部分が黄色くなります
調べたところパラメーター名を足せばいいと出てきて試してみたのですが、サイトの書き方を真似して書き足してみても上記のエラーだけでなく「438/オブジェクトはこのプロパティ〜」や「424/オブジェクトが必要です」等、別のエラーが出てどうすればいいのかわからない状態です。
下記が新しく書き足したコードになります。
Private Subコマンド11_Click()
Dim SQL As String
Dim rs As Recordset
Me!テキスト5 = Null
Set myDb = CurrentDb
SQL ="SELECT *FROMひとまとめクエリ"With qdf
'フォーム参照パラメータ名にコントロールの値をセット
Set qdf = myDb.QueryDefs("ひとまとめクエリ")
.Parameters("[Forms]![フィルターフォーム]! [コンボ11]") = Forms!フィルターフォーム!コンボ11
.Parameters ("[Forms]![フィルターフォーム]! [コンボ13]") = Forms!フィルターフォーム!コンボ13
.Paransters ("[Forms]![フィルターフォーム]! [コンボ17]") = Forms!フィルターフォーム!コンボ17
Set rs = CurrentDb.OpenRecordset (SQL)
End With
Do Until rs.EOF
Me!テキスト5 = Me!テキスト5 &rs![ひとまとめ] &vbCrLf
rs.MoveNext
Loop
rs : Nothing
Set
End Sub
*パラメーターの指定はコンボボックスで設置してあり、3箇所あります
正直もうお手上げ状態のため、どうすれば上手くいくのか....
みなさまのお力を貸してほしいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
Private Subコマンド11_Click()
Dim SQL As String
Dim myDb As DAO.Database
Dim Rs As DAO.Recordset
Dim Qdef As DAO.QueryDef
Dim strT As String
Me!テキスト5 = ""
Set myDb = CurrentDb
Set Qdef = myDb.QueryDefs("ひとまとめクエリ")
With Qdef
'フォーム参照パラメータ名にコントロールの値をセット
.Parameters("[Forms]![フィルターフォーム]![コンボ11]") = Forms!フィルターフォーム!コンボ11 'コンボの前後が全角[]でした。
.Parameters("[Forms]![フィルターフォーム]![コンボ13]") = Forms!フィルターフォーム!コンボ13
.Parameters("[Forms]![フィルターフォーム]![コンボ17]") = Forms!フィルターフォーム!コンボ17
Set Rs = Qdef.OpenRecordset
.Close
End With
Do Until Rs.EOF
strT = strT & Rs!ひとまとめ & vbCrLf
'Me!テキスト5 = Me!テキスト5 & rs![ひとまとめ]&vbCrLf
Rs.MoveNext
Loop
strT = Left(strT, Len(strT) - 2) '最後の改行削除
Me!テキスト5 = strT
Rs.Close: Set Rs = Nothing
Set myDb = Nothing
End Sub
では?
見落としがあるかもしれません。
細かくありがとうございます!!
未だVBA書き慣れていない為、全文書いていただけるの大変ありがたいです、、
おかげさまで解決の糸口が見えました、ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAからクエリのパラメータを設定したいです。
その他(データベース)
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
ACCESS2007 マクロ クエリのパラメータ代入
その他(Microsoft Office)
-
-
4
ACCESS クエリの抽出条件を動的に変更したい。
その他(コンピューター・テクノロジー)
-
5
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
6
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
7
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
8
Accessクエリーで両方のテーブルの全てのデータを表示することは可能ですか?
Access(アクセス)
-
9
アクセスVBAのMe!と[ ]
Access(アクセス)
-
10
Accessでテーブルからテーブルにデータをコピーしたい
その他(データベース)
-
11
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
12
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
13
選択クエリで実行結果を非表示にできますか?
その他(データベース)
-
14
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
15
クエリのデータをテーブルに入れたい
Access(アクセス)
-
16
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
17
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
18
ACCESS2003 でクエリの抽出条件に変数を代入したい。
その他(データベース)
-
19
Access VBAにて Betweenの書き方
Access(アクセス)
-
20
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
access2021 強制終了してしまう
-
Access Error3061 パラメータが...
-
ACCESS VBA でのエラー解決の根...
-
ms access 2013で、チェックボ...
-
Microsoft365にAccessってあり...
-
Accessのクエリの結果を、既存...
-
Accessのクエリで、replace関数...
-
access vbaでフォームを開くと...
-
「テキストデータで送ってくだ...
-
Accessでレポートを印刷する時...
-
Accessでセレクタをダブルクリ...
-
windowos 11 Microsoft Edgeを...
-
Excelを開く時と閉じる時に一度...
-
【アクセス】レポート テキスト...
-
アクセスで教えてください。 住...
-
access2021 VBA メソッドまたは...
-
Accessでフォームに自動入力し...
-
Access VBA [リモートサーバー...
-
【至急・画像あり】建物or住所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access コンボボックスの値を...
-
Access 複数条件検索の設定が上...
-
アクセスのコンボボックスの重...
-
コンボとセットの違い
-
しょーもない質問ですが…
-
ControlTypeの切り替えはデザイ...
-
「コンボ」の意味教えてください
-
コンボボックスの値が変更され...
-
サブフォームにあるコンボボッ...
-
Access パラメータークエリ VBA...
-
(アクセス)フォームからのメ...
-
異世界転生ってなんで流行って...
-
相手が闇の組織できあるからと...
-
ふしぎ遊戯の鬼宿は美朱の世界...
-
睡眠時間の乱れ
-
ラテン語で「闇」を意味する単...
-
こんなメッセージが届いたので...
-
「ぱーりない」「パーリナイ」...
-
セカンドアルバムくらいまでが...
-
ジョジョ7部と8部以降は転生で...
おすすめ情報