【问题标题】:Microsoft Access Query Should return true or true and false, only returns trueMicrosoft Access Query 应该返回真或真假,只返回真
【发布时间】:2021-02-23 21:53:57
【问题描述】:

我正在进行访问查询。有一个带有是/否框的字段。查询条件参数为IIf([Type True or All]="True",-1,>-2)。但即使它评估为假,它也只返回是,在访问中是-1,而不是既是和否,在访问中是-1和0。如果我将条件设置为>-2,那么它同时返回是和没有。

【问题讨论】:

    标签: sql ms-access iif


    【解决方案1】:

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

    可以这样做:

    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 来构建标准并应用于表单或报表。特别建议不要使用弹出式输入,因为它们无法验证,表单上的输入可以。

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多