搜索查询中的此表达式未给出任何结果。
code
和code2
是搜索表单中的组合框,CS_Code
是表格列。
[CS_Code]=([Forms]![Search Form]![code] Or
[Forms]![Search Form]![code2]) Or
( [Forms]![Search Form]![code] Is Null Or
[Forms]![Search Form]![code2] Is Null )
我想在CS_code
等于code
或code2
答案 0 :(得分:2)
您需要重复比较:
WHERE ([CS_Code]=([Forms]![Search Form]![code]
Or [CS_Code]=[Forms]![Search Form]![code2])
Or ([Forms]![Search Form]![code] Is Null
Or [Forms]![Search Form]![code2] Is Null)
答案 1 :(得分:0)
您可以使用IsNull函数缩短它:
WHERE IsNull(([Forms]![Search Form]![code],[CS_Code]) = [CS_Code]
和其他领域类似。如果组合框为null,则返回表字段值,该值将始终等于自身。
如果你在几个组合框中这样做,可能是时候退后一步看看你想要做什么了。一种可能性是编写一个VBA例程来遍历表单上的所有组合框。