我需要搜索存储在ms访问表中的数据的表。我已经为合同号,用户名和日期创建了一个文本框,需要根据合同号或用户名或日期搜索表。
因为我需要一个编码来解决单个sql命令中的问题。我试过它的帮助是一个表,搜索测试是形式。
当帮助(表).cont_no(字段)等于search-test(表单名称).cont_no(文本框字段)
SELECT * FROM Help WHERE (((Help.cont_no)=[Forms]![search-test]![cont_no])) OR
(((Help.username)=[Forms]![search-test]![username]) or
((Help.date)=[Forms]![search-test]![cbo_date]));
希望你能理解我的观点
答案 0 :(得分:0)
我想我明白你想要根据这些标准的任意组合进行搜索。我建议你试试这个:
SELECT *
FROM Help
WHERE
([Forms]![search-test]![cont_no] = '' OR Help.[cont_no]=[Forms]![search-test]![cont_no])
AND
([Forms]![search-test]![username] = '' OR Help.[username]=[Forms]![search-test]![username])
AND
([Forms]![search-test]![cbo_date] = '' OR Help.[date]=[Forms]![search-test]![cbo_date])
如果您在其中输入了值,则此查询将搜索搜索框的组合。 如果它们是空白的,则它们将被排除在搜索条件之外。 您可能需要根据字段的“空”状态进行调整。 我假设“空”是一个空白字符串
UPDATE 如果要搜索条件的任何组合,可以使用OR子句,如下所示:
SELECT *
FROM Help
WHERE
Help.[cont_no]=[Forms]![search-test]![cont_no]
OR
Help.[username]=[Forms]![search-test]![username]
OR
Help.[date]=[Forms]![search-test]![cbo_date]