传入分隔字符串以作为参数访问查询

时间:2016-03-14 17:14:10

标签: ms-access access-vba

我正在尝试将字符串传递给具有参数“companyType”的Access查询。 sql是“[formins]。[fieldname]。[fieldname])”

中的companyType

这适用于一个值,但对于字符串,例如“CompanyType1”,“CompanyType2”它不起作用。

我知道如果该字段的数据类型是短文本或长文本类型,则in运算符需要在引号中包含每个元素。我试过用单引号包装它们也无济于事。

当我对查询中的值进行硬编码时,例如“in('CompanyType1','CompanyType2')”查询返回行,所以我相信它是逃避引号但不完全确定的东西。

1 个答案:

答案 0 :(得分:0)

您无法将此作为参数添加到访问查询中;但是,您可以在vba中构建查询:

dim qry as new QueryDef
qry.SQL = _
    "SELECT some_column, ... " & _
    "FROM some_table [INNER JOIN ...] " & _
    "WHERE CompanyType IN (" & [list] & ")"
qry.Execute