我有一个数据库可以将发票导出到pdf并邮寄给他们,使用outputto命令生成发票。我在一个函数中输出了output,该函数带有发票报告的名称(strRptName),发票号上的过滤器(stropenargs)和包含发票号(strFilename)的文件名,如果是,则返回PDF的文件名可以生成。
Public Function PDFRpt(strRptName As String, strFileName As String, strOpenArgs As String) As String
DoCmd.OpenReport strRptName, acViewPreview, , , acHidden, strOpenArgs
If Reports(strRptName).HasData Then
DoCmd.OutputTo acOutputReport, strRptName, acFormatPDF, strFileName & ".pdf", False
PDFRpt = strFileName & ".pdf"
Else
PDFRpt = "Nodata"
End If
DoCmd.Close acReport, strRptName
End function
在print和mail子例程中,我遍历调用此函数的发票标题。文件名和过滤器变量在循环中填充,显然使用记录集中的相同发票号。
这通常有效,但有时候,pdf的内容不会与过滤器匹配。例如:文件名表示它包含发票编号149,但是如果您打开pdf,它会显示发票编号153.名称中有一个153的文件,其中还包含发票编号153.
我认为网络上的瞬态条件导致了这种打击,但有什么办法可以阻止它吗?也许使用其他代码来创建pdf' s?
希望有人可以对这个问题有所了解。提前谢谢。
英格丽