我的表table1有 3 个字段:FName
, LName
, Phone
. 我正在使用 Microsoft Access 2010 运行 SQL 查询。有些行有空/空电话值。
我有一个接受搜索参数的 VB 表单。用户可以输入(FName and LName)
或(Phone)
,但不能同时输入两者。
当我尝试:
SELECT table1.LName, table1.FName, table1.Phone
FROM table1
WHERE table1.LName Like ('*' & Forms!frmSearchMain!LName & '*') AND table1.FName Like ('*' & Forms!frmSearchMain!FName & '*')
ORDER BY table1.LName, table1.FName;
它给了我一个匹配给定 (FName
和LName
) 参数的用户列表。它工作正常。
同样,当我尝试:
SELECT table1.LName, table1.FName, table1.Phone
FROM table1
WHERE table1.Phone Like ('*' & Forms!frmSearchMain!Phone & '*')
ORDER BY table1.LName, table1.FName;
它给了我一个匹配给定 ( Phone
) 参数的用户列表。它也很好用。
但是,当我结合这两个查询时:
SELECT table1.LName, table1.FName, table1.Phone
FROM table1
WHERE table1.Phone Like ('*' & Forms!frmSearchMain!Phone & '*') AND table1.LName Like ('*' & Forms!frmSearchMain!LName & '*') AND table1.FName Like ('*' & Forms!frmSearchMain!FName & '*')
ORDER BY table1.LName, table1.FName;
它没有给我预期的结果。
我什至尝试OR
了 (FName
和LName
) 和 ( Phone
) 搜索参数之间的条件。它不起作用。我已经尝试nz(frmSearchMain!Phone,"")
了所有搜索参数,%
而不是*
,但到目前为止还没有运气。
我是 MS Access SQL 查询格式的新手。我在 MySQL 中多次使用这种类型的查询。但我无法从这个中得到预期的结果。
任何帮助,将不胜感激。