Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pdf 访问错误2501:输出操作已取消。从系统帐户运行_Pdf_Ms Access 2010 - Fatal编程技术网

Pdf 访问错误2501:输出操作已取消。从系统帐户运行

Pdf 访问错误2501:输出操作已取消。从系统帐户运行,pdf,ms-access-2010,Pdf,Ms Access 2010,我在使用Microsoft Access 2010时遇到问题。我有一个报告模块,可以将报告打印到打印机或文件。报告可以是用户请求的,也可以是自动打印的。用户请求的报告从桌面登录用户运行。自动打印由我的Windows服务启动 我们曾经将这些打印到.RTF,它们工作得很好。我们想修改access报告数据库以打印到.PDF。这就是乐趣的开始。如果我们以用户应用程序的形式启动access数据库,那么报告可以很好地打印出来。如果从windows服务启动access数据库,则会出现错误2501“输出操作已取

我在使用Microsoft Access 2010时遇到问题。我有一个报告模块,可以将报告打印到打印机或文件。报告可以是用户请求的,也可以是自动打印的。用户请求的报告从桌面登录用户运行。自动打印由我的Windows服务启动

我们曾经将这些打印到.RTF,它们工作得很好。我们想修改access报告数据库以打印到.PDF。这就是乐趣的开始。如果我们以用户应用程序的形式启动access数据库,那么报告可以很好地打印出来。如果从windows服务启动access数据库,则会出现错误2501“输出操作已取消”

此应用程序正在Windows 2008 Server R2上运行

DoCmd.OpenReport "Summary", acViewPreview
DoCmd.OutputTo acOutputReport, "Summary", acFormatPDF, DataBasePath & "Summary.pdf"
DoCmd.Close acReport, "Summary", acSaveNo
如果我将acFormatPDF更改为acFormatRTF(并将文件名更改为summary.rtf),则效果很好。如果我以登录用户的身份运行这段代码,它可以正常工作并生成PDF。如果我将windows服务改为“以用户身份运行”而不是系统帐户,它也可以工作

不幸的是,我不能以用户帐户的形式运行该服务(没有很多测试)


关于为什么系统帐户不能输出到PDF有什么想法吗?

我知道这是一个旧线程-但我想提供一个潜在的解决方案,以防其他用户有类似的问题

我试着做一些非常相似的事情,发现同样的事情也发生在我身上。我的解决方案是将Stephen Lebans的ReportToPDF(在这里找到:)集成到我的项目中,并从

    DoCmd.OutputTo acReport, strReportName, acFormatPDF, strFilePath

调整了C:\Windows\Temp文件夹的权限后,我的服务现在可以从本地系统帐户打印PDF


如果你还没有找到一个解决方案,你可能想把它当作一个选项。

除了办公室提供的默认设置之外,你是否安装了任何PDF打印机(例如Adobe试用版)?我知道这不会帮助你解决当前的问题,但是,从长远来看,我建议你移到一个不同的体系结构。在无人值守(如服务)环境中运行Office应用程序是非常困难的。
    modReportToPDF.ConvertReportToPDF strReportName, , strFilePath, , False