为什么我的SQL查询应该在什么时候不返回任何记录?

时间:2019-05-28 15:46:49

标签: vba ms-access

我有一个带一堆where子句的选择查询。我测试了几种情况,它们运行良好!但是测试了另一种情况,它本来应该返回任何内容。

在访问中,我使用了“创建查询”功能,我输入了所有相同的值,并返回了4条记录,这是预期的结果!那么,为什么我的查询无法找到这些记录?

Set rstV = cdb.OpenRecordset("SELECT * FROM " & tableVName & " WHERE ValveSize IN (" & mVSize & "," & mLineSize & ") AND ValveFamily = '" & confgType & _
    "' AND CV >= " & mCV & " AND NO = 'X'")

当我删除NO ='X'时,它会找到一堆记录(包括我要查找的记录),但是我需要NO ='X'才能明确找到这4条记录。

我觉得'X'可能以某种方式导致了此问题,但在其他情况下仍然有效。我试着看了列字段的属性,一切看起来都很好...

请帮助!

1 个答案:

答案 0 :(得分:2)

据我所知,YES和NO可能是值,因此请尝试在NO周围使用方括号:

[NO] = 'X'