ms访问中的表达式

时间:2012-04-23 13:35:28

标签: ms-access

搜索查询中的此表达式未给出任何结果。

codecode2是搜索表单中的组合框,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等于codecode2

时从表中获取条目(搜索结果)

2 个答案:

答案 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例程来遍历表单上的所有组合框。