Microsoft Access 查询应该 return 真或真假,只有 return 真

Microsoft Access Query Should return true or true and false, only returns true

我正在进行访问查询。有一个带有 Yes/No 框的字段。查询条件参数是IIf([Type True or All]="True",-1,>-2)。但即使它评估为 false,它也只是 returns yes,在 access 中是 -1,而不是 yes 和 no,在 Access 中是 -1 和 0。如果我将条件设置为 >-2,则它 returns 是和否。

运算符(=、>、LIKE 等)不能是动态的。运算符必须是静态的,然后IIf() returns参数。

可以这样做:

WHERE fieldname LIKE IIf([Type True or All] = "True", -1, "*")

或减少用户输入:

WHERE fieldname LIKE IIf([Type "T" for True or "A" for All] = "T", -1, "*").

或者这样:

WHERE fieldname LIKE Choose([Type 1 for True, 2 for False, 3 for All], -1, 0, "*")

或者对于文本字段:
WHERE fieldname LIKE IIf([enter value or ALL]="ALL", "*", [enter value or ALL])

我不使用动态参数化查询 - 我更喜欢 VBA 来构建标准并应用于表单或报告。特别建议不要使用弹出式输入,因为它们无法验证,表单上的输入可以。