MS Access:如何打印当前表单的当前记录并在打印完成后刷新该记录?
在MS Access中打印当前表单的当前记录并刷新
方法1:通过Access内置功能快速实现
- 打开目标表单,确保光标停在你要打印的当前记录上
- 点击菜单栏「文件」→「打印」(或按快捷键Ctrl+P)
- 在打印对话框的「打印范围」选项里,选择选定的记录,点击确定即可完成单记录打印
这种方法适合临时手动操作,无需编写代码。
方法2:用VBA代码实现(适合添加按钮自动执行)
如果需要给表单设置一键打印按钮,实现自动打印当前记录并刷新,按以下步骤操作:
- 在表单设计视图中添加一个命令按钮,命名为
cmdPrintCurrentRecord - 双击按钮打开事件编辑器,选择「单击」事件,输入以下VBA代码:
Private Sub cmdPrintCurrentRecord_Click() ' 替换rptYourReport为你的报表名称,ID为表单和报表共用的主键字段名 Dim strFilter As String ' 设置筛选条件:仅匹配当前表单的主键记录 strFilter = "ID = " & Me.ID ' 若主键是文本类型,改用:strFilter = "ID = '" & Me.ID & "'" ' 直接打印符合条件的记录(若要先预览,把acViewNormal改成acViewPreview) DoCmd.OpenReport "rptYourReport", acViewNormal, , strFilter ' 打印完成后刷新表单记录 ' Me.Refresh 仅刷新当前记录的显示内容 ' Me.Requery 重新查询数据源,加载最新数据(按需选择) Me.Refresh End Sub
- 保存代码后切换到表单视图,点击按钮即可完成打印+刷新操作
关键注意点
- 报表的数据源必须包含和表单一致的主键字段,否则筛选无法生效
- 若选择预览模式,关闭预览窗口后才会执行后续的刷新操作
内容的提问来源于stack exchange,提问作者Haari
相关产品推荐
相关产品推荐

