【发布时间】:2018-09-25 04:43:29
【问题描述】:
全部,
在 MS Access 2010 中,我有一个链接到报告的表(Today's Settled Jrnls)。我运行下面的 VBA 代码将报告导出为共享驱动器上的 pdf。
Public Function exporttopdf()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MyFileName As String
Dim mypath As String
Dim temp As String
mypath = "S:\Dan\" & Format(Date, "mm-dd-yyyy") & "\"
If Dir(mypath, vbDirectory) = "" Then MkDir mypath
Set db = CurrentDb()
Set rs = CurrentDb.OpenRecordset("SELECT distinct [Settlement No] FROM [Today's Settled Jrnls]", dbOpenDynaset)
Do While Not rs.EOF
temp = rs("[Settlement No]")
MyFileName = rs("[Settlement No]") & ".PDF"
DoCmd.OpenReport "Settlement Report", acViewReport, , "[Settlement No]='" & temp & "'"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, mypath & MyFileName
DoCmd.Close acReport, "Settlement Report"
rs.MoveNext
Loop
Set rs = Nothing
Set db = Nothing
End Function
这可行,但我想将 [Today's Settled Jrnls] 表更改为不同的表 [New Jrnls]。新表具有完全相同的列和设置。但是,当我在上面的 select 语句中更改表时,代码运行但报告为空白。我认为这是因为报告(结算报告)仍然链接到旧表。您知道如何使用 VBA 将报表链接到新表吗?
丹
【问题讨论】:
标签: ms-access vba ms-access-2010