2013-10-29 64 views
1

我在Access 2007 SP3中出现了一个奇怪的问题。当我将报告导出到pdf时,我得到我不想要的“输出到”提示,在我的代码中有什么我做错了?访问VBA outputto pdf“输出到”提示

OverViewFile = DLookup("ExportPath", "dbo_Defaults") & "PC" & Format(Now(), "ddmmyy") & Format(Now(), "hhmm") & ".pdf" 

DoCmd.OutputTo acOutputReport, "Rpt_ExportBPC", acFormatPDF, OverViewFile, False 

如果我错过了任何事情,请让我知道。

+0

你从'Debug.Print OverViewFile'得到什么? – HansUp

+0

嗨,什么都没有发生,它只是运行它没有做任何事情? – user2294977

+0

您是否在即时窗口中检查“Debug.Print”的输出?你可以去那里按Ctrl + g – HansUp

回答

1

当我的报告对象的名称改为OutputTo并给它一个有效的文件路径为OverViewFile时,我无法从Access 2007 SP3获得该提示。所以我怀疑你的问题是由于OverViewFile;检查该字符串的值:

OverViewFile = DLookup("ExportPath", "dbo_Defaults") & "PC" & Format(Now(), "ddmmyy") & Format(Now(), "hhmm") & ".pdf" 
Debug.Print OverViewFile 
DoCmd.OutputTo acOutputReport, "Rpt_ExportBPC", acFormatPDF, OverViewFile, False 

您可以从Debug.Print立即窗口(按Ctrl + 克会带你去那里)查看输出。

也许DLookup返回空值。然后,您将有一个有效的VBA字符串OverViewFile,但它不会是有效的Windows路径。

没有与OverViewFile另一个问题,这可能不利于问题,但我会建议这一点,因为它的简单,我觉得你真的想hhnn而不是文件名HHMMñ代表分钟;表示月份)

OverViewFile = DLookup("ExportPath", "dbo_Defaults") & "PC" & _ 
    Format(Now(), "ddmmyyhhnn") & ".pdf" 
+0

只是好奇:如果文件已经存在,OutputTo'会提示吗?如果是这样,那么mm和nn混合可能会导致这种情况。 –

+0

当目标文件存在时它没有提示我。相反,它静静地取代了旧文件。 – HansUp

+0

感谢您的帮助HansUp,dlookup绝对不是null。刚刚发现,它从.mdb,但不是.mde?我也把hhmm改成了hhnn。 – user2294977