Ms access ';没有当前记录';从批处理文件或任务计划程序将报告输出为PDF时出错 问题

Ms access ';没有当前记录';从批处理文件或任务计划程序将报告输出为PDF时出错 问题,ms-access,pdf,scheduled-tasks,ms-access-reports,Ms Access,Pdf,Scheduled Tasks,Ms Access Reports,我正在使用计划任务打开MS Access数据库,运行宏以PDF格式通过电子邮件发送报告,然后关闭数据库。报告是相对基本的,宏只是使用操作以PDF格式导出并通过电子邮件发送报告 在过去4年中,它每天都在运行与Windows 7兼容的最新版本Office 365的Windows 7计算机上成功运行 我最近将机器更新为Windows 10,现在在运行计划任务时遇到了无当前记录错误。在多次单击“确定”以更正错误后,Windows报告MS Access已停止工作,应用程序崩溃 如果手动打开数据库并手动运行

我正在使用计划任务打开MS Access数据库,运行宏以PDF格式通过电子邮件发送报告,然后关闭数据库。报告是相对基本的,宏只是使用操作以PDF格式导出并通过电子邮件发送报告

在过去4年中,它每天都在运行与Windows 7兼容的最新版本Office 365的Windows 7计算机上成功运行

我最近将机器更新为Windows 10,现在在运行计划任务时遇到了
无当前记录
错误。在多次单击“确定”以更正错误后,Windows报告MS Access已停止工作,应用程序崩溃

如果手动打开数据库并手动运行宏,则一切都会成功。

安装程序
  • Windows 10 Pro 20H2(19042.964)64位
  • Office 365商务应用2104(13929.20296)32位
我的研究
  • 我发现在描述这个问题时,据报道这适用于MS Access 2003和2007。我的报表没有分组,但在报表页脚中包含汇总。然而,建议的解决方案是不可行的,因为删除汇总将从报告中删除必要的信息

  • 但是,我发现这是由于从OneDrive访问数据库而不是从映射的网络驱动器访问数据库,而我是从映射的网络驱动器访问数据库

  • 看起来是同一个问题,但我无法访问专家交换的“解决方案”

我已经试过了
  • 正在将Office 365回滚到早期版本(版本2101)

  • 以最高权限运行计划任务-但这将导致无法访问映射的网络驱动器

  • 从批处理文件运行宏

  • 从另一台PC打开数据库并从批处理文件运行宏

  • 使用AutoExec宏执行操作,而不是按名称调用特定宏

  • 将数据库中的所有对象导入到新的本地数据库中

  • 使用操作在本地将报告导出为PDF

  • 使用此方法发送报告-这会导致MS Access立即崩溃

  • 将默认Windows打印机和默认报表打印机更改为“Microsoft打印为PDF”,以排除可能的打印机驱动程序问题

当前解决方法 我发现这个错误只有在导出格式设置为PDF时才会出现;因此,我目前的解决方法是将报告导出为RTF格式,但这显然不理想


更新 现在,我已经系统地从报告中删除了项,直到我能够从计划的任务中成功运行报告为止

我删除了项目,直到在报告标题中留下一个静态标签,在报告详细信息中留下一组字段,引用数据库中单个表中的基本数字和文本数据

删除报表页眉和页脚导致报表从计划任务成功运行,因此我确定问题一定是由与报表页眉/页脚关联的设置引起的

我将问题隔离到报告标题中的“强制新建页面”设置:

如果将此设置为“节后”,报告将崩溃;但如果设置为“无”,则报告成功

但是,在原始报告中将其设置为“无”时,从任务计划程序运行并输出为PDF时,报告仍会崩溃

重现问题的步骤 我上传了一个极其基本的数据库,其中包含一个表、一个报告和一个宏,该宏执行ExportWithFormatting操作,然后执行QuitAccess操作

要重现此问题,请打开命令提示窗口并发出以下命令:

cd C:\Program Files (x86)\Microsoft Office\root\Office16
msaccess.exe C:\YourPath\test.accdb /x macro1
然后,MS Access将打开,您可能会看到“无当前记录”错误


是否有其他人遇到此问题并知道解决方案


非常感谢您抽出时间。

您是否在Windows10下本地安装了Access,可以使用它而不是Office365进行测试?反编译并重新编译访问文件?不幸的是,我只能访问Office 365,但此过程在Windows 7上的Office 365下成功运行,事实上,当手动运行宏时,宏成功运行-这与宏何时通过自动方式启动有关。可能会发布到论坛,在那里您可以附加文件进行分析。不确定您是否尝试过:通过批处理或任务从本地驱动器运行DB,而不是从映射的网络驱动器运行DB?非常感谢您的建议@Andre,但我已经试过了,作为我上面列表中要点(6)的一部分。