Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルDAO:パラメータークエリで複数のパラメーターを指定する方法
記事No10720
投稿日: 2011/04/07(Thu) 18:00
投稿者まま
解決済: ON
OS:Windows7
Access Version: Access2010

クエリのレコードのIDが"1"と"2"と"10"を抽出したい場合、
Accessのデザインビューで、IDの抽出条件にIn(1,2,10)と記述すれば期待する結果が得られます。

この抽出条件をVBAのコード上にてパラメーター(Parameters)で指定することはできないのでしょうか??
また、抽出条件がない場合、すべてのレコードを取得するという処理も入れる必要があります。

以下の方法を試しましたがうまくいきませんでした。

○Accessのデザインビューで、IDの抽出条件に "In ([InputID])"と記入
○以下のVBAコードを記述

Dim db As DAO.Database
Dim qdf As QueryDef
Dim rs As DAO.Recordset

Set db = CurrentDb
Set qdf = db.QueryDefs("QueryName")

With qdf
'クエリーオブジェクトにパラメータを設定
.Parameters("InputID") = "1,2,10"
'Recordsetを開く
Set rs = .OpenRecordset
End With

○結果はレコード0件でした


よろしくお願いいたします。

タイトルRe: DAO:パラメータークエリで複数のパラメーターを指定する方法
記事No10721
投稿日: 2011/04/07(Thu) 18:17
投稿者まま
解決済: ON
すみません、自己解決しました。
パラメータークエリではなく、クエリに対してもう一度SELECTを行うという方法で解決できました。

Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim SQL As String

Set db = CurrentDb

SQL = "SELECT * FROM QueryName WHERE ID IN (1,2,10)"

Set rs = db.OpenRecordset(SQL)

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る