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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
6
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
7
VBAからクエリのパラメータを設定したいです。
その他(データベース)
-
8
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
9
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
10
FindFirst を複数条件で検索
Visual Basic(VBA)
-
11
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
12
クロス集計クエリの結果をテーブルにしたい
Access(アクセス)
-
13
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
14
accessの自動更新処理をできないようにするにはどうすれば良いですか?
その他(データベース)
-
15
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
16
ACCESSフォーム入力後の確定
Access(アクセス)
-
17
Access 2010で実行時エラー3061
その他(Microsoft Office)
-
18
Access パラメータクエリをcsvでエクスポートしたい
Access(アクセス)
-
19
ACCESS VBA クエリを開く
その他(データベース)
-
20
更新不可能なクエリに対して更新クエリを実行する方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボとセットの違い
-
Access コンボボックスの値を...
-
Access 複数条件検索の設定が上...
-
アクセス2003 検索で空欄入力...
-
アクセスのコンボボックスの重...
-
PS3バイオハザード6 マーセナリ...
-
ACCESSコンポボックス
-
アクセス コンボボックス VBA
-
「ぱーりない」「パーリナイ」...
-
梶井基次郎の「闇の絵巻」という...
-
家系が途絶える事は悪い事か
-
入り口と出口の間には、何があ...
-
あけない闇はないといってる人...
-
最強の剣士は?
-
もしも異世界に生まれ変わって...
-
ラテン語で「闇」を意味する単...
-
転生アニメの食事問題。 日本人...
-
闇バイトの応募はおとり捜査で...
-
神谷町、25人、飲み放題、立食...
-
彼とのお泊まりの時に 彼女が朝...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access コンボボックスの値を...
-
コンボとセットの違い
-
Access 複数条件検索の設定が上...
-
アクセスのコンボボックスの重...
-
Access パラメータークエリ VBA...
-
「コンボ」の意味教えてください
-
しょーもない質問ですが…
-
ACCESSコンポボックス
-
アクセス コンボボックス VBA
-
access vba コンボボックス 読...
-
Nullについて
-
CD-RWドライブで、CD-...
-
PS3バイオハザード6 マーセナリ...
-
コンボボックスの値が変更され...
-
「ぱーりない」「パーリナイ」...
-
ラテン語で「闇」を意味する単...
-
転生アニメの食事問題。 日本人...
-
闇バイトの応募はおとり捜査で...
-
ヒロアカのオールマイトは何で...
-
梶井基次郎の「闇の絵巻」という...
おすすめ情報