我遇到了对报告和报告打印的挑战性要求。要求是:创建一个报告(假设 5 页),每个页面应保存在不同的文件中,并通过代码动态提供文件名(使用该页面上的记录 ID)。
目前,我尝试使用 Access 和 VBA,我可以获得 X 页的报告,但无法将报告的每一页保存在单独的文件中。我该如何做到这一点?
任何其他技术可以帮助我实现这个目标 - 也许用 C# 或 Java 编程可以帮助我吗?我已经在这个问题上停留了 3 天。
谢谢
我的访问代码和问题:
Private Sub Report_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MyFilename As String
Dim MyPath As String
Dim temp As String
Set db = CurrentDb
MyPath = "c:\temp\"
Dim stremp As String
stremp = "select distinct(empno) from query2"
Set rs = db.OpenRecordset(stremp)
Do While Not rs.EOF
temp = rs("Empno")
MyFilename = rs("EMPNO") & ".PDF"
DoCmd.OpenReport "FORM", acViewReport, "EMPNO" = " & temp"
'DoCmd.OpenReport "form", acViewPreview, , "empno", acWindowNormal
DoCmd.OutputTo acOutputReport, "", acFormatPDF, MyPath & MyFilename
'do.cmd.outputto
DoCmd.Close acReport, "FORM"
DoEvents
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
记录集有 5 条记录,即 5 页。它打印 5 次 5 页,即 Record1 我得到所有 5 个记录,Record2 - 所有 5 个记录等等。相反,我应该只为 Record1 创建 1 个,为 Record2 创建 1 个,依此类推。
谁能帮我知道我的代码在哪里错误/不正确。
谢谢