[AccessD] How to parametrize an IN ( ) clause with ADO

Gustav Brock gustav at cactus.dk
Wed Feb 28 07:52:35 CST 2018


Hi Bill

Nope. That is wishful thinking only. Could be nice, also to include a function to returns the INs.

You'll have to create the full (literal) IN clause dynamically.

/gustav

-----Oprindelig meddelelse-----
Fra: AccessD [mailto:accessd-bounces at databaseadvisors.com] På vegne af Bill Benson
Sendt: 28. februar 2018 14:42
Til: Access Developers discussion and problem solving <accessd at databaseadvisors.com>
Emne: [AccessD] How to parametrize an IN ( ) clause with ADO

I noticed this message I never posted in my Drafts folder. I don't think I ever resolved it, just abandoned it. Is there a way to create a parameter query that avails of an IN operator in the WHERE clause? The attempt below does not work as written.

I think I do not need Set Rst = CreateObject("ADODB.Recordset") but I added it just for good measure.


Dim Cmd As Object
Dim Rst As Object
Dim paramFileType As ADODB.Parameter

Set Cmd = CreateObject("ADODB.Command")
Set Rst = CreateObject("ADODB.Recordset") With Cmd
    .ActiveConnection = CurrentProject.Connection
    .CommandType = 1 'adCmdText=1
    .CommandText = "Select Description From [_Files] Where Description IN ([pDescription])"
    Set paramFileType = .CreateParameter("[pDescription]", 200, 1, 255,
"'Template','Output','Manual'") 'adVarChar = 200, adParamInput = 1
    .Parameters.Append paramFileType

    Set Rst = .Execute()
End With 



More information about the AccessD mailing list