所以我很长一段时间都在努力解决以下问题。 我有一个Access前端应用程序,它根据表单数据生成一些报告。该报告有1个背景图像填充整个背景(a4格式)。
单击按钮,将开始生成报告,并使用Access PDF转换器(DoCmd.OutputTo 3, "", acFormatPDF
)中的内置版本将其转换为PDF文件。我所做的是:
大多数情况下这很有效,但是每20个报告左右就会出错(没有背景图像生成)。
经过一番研究后,我发现以下主题描述了我的问题: http://www.utteraccess.com/forum/background-image-sometim-t1998533.html
这个帖子中的几个回复让我相信图片不能总是生成,因为它可能很大。我相信解决方案是使用DoEvent构建延迟,以便报告有足够的时间来生成背景。
我在报告的加载事件中这样做了:
Me.Picture = "O:\FactuurLayouts\VSP_Layout_NL_ENG.jpg" 'Setting the background
Dim sngStart As Single
DoCmd.Hourglass True 'Change cursor
sngStart = Timer ' Set start time.
Do While Timer < sngStart + 2 'wait for 2 seconds
DoEvents ' Yield to other processes.
Loop
DoCmd.Hourglass False
有一段时间它正确地生成了所有报告,所以我认为问题已经解决,但遗憾的是我今天又有了一个空的。
我试过了另一个帖子中的所有建议,但遗憾的是没有一个可行。
任何人都知道是什么导致了这个问题,或者可能采用不同的方式在报告中获取背景图片?
其他一些信息: