首先,我会说我对SQL的了解很少,这就是为什么我自己没有尝试这样做的原因。 我要实现的目标如下。我有一个带有几个唯一ID的字符串,我试图用它们通过查询来检索表的几行。
mystring = 26,28,29,30
我的目标是到达表“ PartsList”,并从第26、28、29和30行中检索“名称”字段。
我将如何处理?
编辑:这是我以前用来检索仅一行信息的内容:
SELECT PartsList.ID, PartsList.Name,
FROM PartsList
WHERE (((PartsList.Part_Number)=[Forms]![View_Parts]![Name]));
预先感谢,拉斐尔。
答案 0 :(得分:1)
您可以使用LIKE
运算符:
SELECT Name
FROM PartsList
WHERE (',' & mystring & ',') LIKE ('*,' & ID & ',*');
如果mystring
可能包含空格,请使用REPLACE()
删除它们:
SELECT Name
FROM PartsList
WHERE (',' & REPLACE(mystring, ' ', '') & ',') LIKE ('*,' & ID & ',*');
答案 1 :(得分:0)
您可以使用VBA将值列表合并到SELECT
语句中。
strSelect = "SELECT pl.ID, pl.Name FROM PartsList AS pl " & _
"WHERE pl.Part_Number IN (" & mystring & ");"
该查询应返回我认为您想要的结果。