可以使用 Access 桌面数据库中的 OpenReport 操作在设计视图或打印预览中打开报表,或者将报表直接发送到打印机。 还可以限制报表中打印的记录。
设置
OpenReport 操作具有以下参数。
| 操作参数 | 说明 |
|---|---|
| 报表名称 | 要打开的报表的名称。 “宏生成器”窗格的“操作参数”部分中的“报表名称”框显示当前数据库中的所有报表。 此参数为必选项。 如果在库数据库中运行包含 OpenReport 操作的宏,则 Access 首先在库数据库中查找具有此名称的报表,然后在当前数据库中查找报表。 |
| 视图 | 将在其中打开报表的视图。 单击“打印” (立即在“视图”框中) 、“设计”或“打印预览”打印报表。 默认值为 Print。 |
| 筛选器名称 | 限制报表记录的筛选器。 可以输入已保存为查询的现有查询或筛选器的名称。 但是,查询必须包含要打开的报表中的所有字段,或者将其 OutputAllFields 属性设置为 “是”。 |
| Where 条件 | 有效的 SQL WHERE 子句 (没有 WHERE) 或表达式一词,Access 使用它从报表的基础表或查询中选择记录。 如果选择具有 Filter Name 参数的筛选器,Access 会将此 WHERE 子句应用于筛选器的结果。 若要打开报表并将其记录限制为窗体上控件的值指定的记录,请使用以下表达式: [fieldname] = Forms![formname]![窗体上的 controlname] 将 fieldname 替换为要打开的报表的基础表或查询中的字段名称。 将窗体上的 formname 和 controlname 替换为窗体的名称,并将窗体上的控件替换为希望报表中的记录匹配的值。 注意:Where Condition 参数的最大长度为 255 个字符。 如果需要输入比此更长的复杂 SQL WHERE 子句,请改用 Visual Basic for Applications (VBA) 模块中的 DoCmd 对象的 OpenReport 方法。 可以在 VBA 中输入最多 32,768 个字符的 SQL WHERE 子句语句。 |
| 窗口模式 | 将打开报表的模式。 在“窗口模式”框中单击“普通”、“隐藏”、“图标”或“对话框”。 默认值为 Normal。 注意: 使用选项卡式文档时,某些 窗口模式 参数设置不适用。 切换到重叠窗口:
|
备注
View 参数的“打印”设置使用当前打印机设置立即打印报表,而不会打开“打印”对话框。 还可以使用 OpenReport 操作打开和设置报表,然后使用 PrintOut 操作打印报表。 例如,您可能希望在打印之前修改报表或使用 PrintOut 操作更改打印机设置。
应用的筛选器和 WHERE 条件将成为报表的 Filter 属性的设置。
OpenReport 操作类似于在导航窗格中双击报表,或在导航窗格中右键单击报表并选择视图或打印命令。
技巧
- 若要打印不同数据集的类似报表,请使用筛选器或 WHERE 子句来限制报表中打印的记录。 然后编辑宏以应用其他筛选器或更改 Where Condition 参数。
- 可以将报表从导航窗格拖动到宏操作行。 这会自动创建一个 OpenReport 操作,用于在报表视图中打开报表。