1

我在 Access 中有一个表格,其中包含用于生成报告的预算信息。

我表中的一个字段称为“IsActive”。它在我的表属性中定义为是/否字段。

我想打开报告,只显示 IsActive 字段 = Yes 的行。

我尝试了以下方法:

DoCmd.OpenReport "BudgetTable", acViewReport, "WHERE IsActive = Yes"

DoCmd.OpenReport "BudgetTable", acViewReport, "WHERE IsActive = 1"

在这两种情况下,报告都会显示所有字段,包括 IsActive 设置为 No 的位置。

4

1 回答 1

2

您的代码将WHERE字符串作为OpenReport的FilterName参数提供...

DoCmd.OpenReport "BudgetTable", acViewReport, "WHERE IsActive = 1"
                       ^             ^                 ^
                       |             |                 |
                  ReportName       View           FilterName

将其作为WhereCondition提供...

DoCmd.OpenReport "BudgetTable", acViewReport, , "IsActive = True"
                       ^            ^        ^               ^
                       |            |        |               |
                 ReportName       View   FilterName   WhereCondition

请注意,文档将WhereCondition描述为 ...

“一个字符串表达式,它是一个没有 WHERE 字样的有效 SQL WHERE 子句。”

因此,请确保WHERE从您的WhereCondition字符串中删除。

于 2020-05-21T14:18:45.837 回答