Avatar of bishopkd
bishopkdFlag for United States of America asked on

Passing a string list parameter to IN statement


In VBA, I am attempting to pass a parameter as a list of strings to query IN statement.

Say that qry12 = SELECT Vendor, Sum(Cost)  FROM tblMain WHERE tblMain.Vendor IN ([Enter Vendor])

And my code uses a querydef like this:

Set objQD =  objDB.QueryDefs("qry12")
objQD.Parameters("[Enter Vendor]") =   strTopVendors
Set  objRS = objQD.OpenRecordset()

I have attempted to pass strTopVendors parameter in all of the following quoted and unquoted forms:
= Vendor1, Vendor2, Vendor3
= "Vendor1, Vendor2, Vendor3"
= 'Vendor1, Vendor2, Vendor3'
= "Vendor1", "Vendor2", "Vendor3"
= 'Vendor1', 'Vendor2', 'Vendor3'

The query runs fine, except that it looks for a single Vendor named Vendor1,Vendor2,Vendor3 and obviously doesn't find it.  So my syntax is wrong.  Please help with the quotes and commas?  Or can you not pass a string list as a parameter in this way?

Many thanks in advance.

Microsoft Access

Avatar of undefined
Last Comment

8/22/2022 - Mon

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
See how we're fighting big data
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.