我在Access中有一个包含一些值的组合框。选择我想要过滤记录的其中一个值。
现在我写的查询看起来像这样:
SELECT Fornitori.Brand
,Fornitori.Mail
,Fornitori.Web
,Fornitori.Località
,Fornitori.[ID Categoria]
,Fornitori.[ID Zona]
,Zona.Zona
,Settore.Categoria
FROM Settore
INNER JOIN (
Zona INNER JOIN Fornitori ON Zona.[ID Zona] = Fornitori.[ID Zona]
) ON Settore.[ID Categoria] = Fornitori.[ID Categoria]
WHERE Fornitori.[ID Categoria] = Maschere!Brandsrch!Brandcatsrchcb.Value;
这样做会在我从组合框中选择一个值时过滤记录。
我现在的目标是在取消组合框中的文本时没有过滤器(比如没有WHERE子句),或者在我选择某些内容之前它首先是空的。
答案 0 :(得分:1)
您可以使用VBA执行复杂操作,或者只是将查询修改为以下内容:
SELECT Fornitori.Brand, Fornitori.Mail, Fornitori.Web, Fornitori.Località, Fornitori.[ID Categoria], Fornitori.[ID Zona], Zona.Zona, Settore.Categoria
FROM Settore INNER JOIN (Zona INNER JOIN Fornitori ON Zona.[ID Zona] = Fornitori.[ID Zona]) ON Settore.[ID Categoria] = Fornitori.[ID Categoria]
WHERE Fornitori.[ID Categoria]=Maschere!Brandsrch!Brandcatsrchcb.Value
OR NZ(Maschere!Brandsrch!Brandcatsrchcb.Value, "") = "";
这将在未设置Maschere!Brandsrch!Brandcatsrchcb.Value
时返回所有记录。