保存具有不同名称的访问报告
Posted
技术标签:
【中文标题】保存具有不同名称的访问报告【英文标题】:Saving Access Report with Distinct Name 【发布时间】:2019-05-15 20:46:09 【问题描述】:我正在尝试使用 Access Reports 保存每个员工的声明。但是,我在将 Employee Name
字段附加到 MyFileName
变量时遇到问题。
我可以将个人员工报告导出为具有以下格式的 PDF:
Statement_[EENo].pdf
但是,我希望它包含以下格式的员工姓名:
Statement_[Employee Name]_[EENo].pdf
Private Sub Command2_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim MyFileName As String
Dim mypath As String
Dim temp As String
mypath = "FILE LOCATION"
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT distinct [EENo] & [Employee Name] FROM [Query]", dbOpenSnapshot)
rs.MoveFirst
Do While Not rs.EOF
temp = rs("EENo" & "Employee Name")
MyFileName = "Statement" & "_" & [Employee Name] & "_" & Format(rs("EENo"), "000000") & ".PDF"
DoCmd.OpenQuery "1 - Query: Firm Admin_EE"
DoCmd.Close acQuery, "1 - Query: Firm Admin_EE", acSaveYes
DoCmd.OpenReport "REPORT", acViewReport, , "[EENo]=" & temp
DoCmd.OutputTo acOutputReport, "", acFormatPDF, mypath & MyFileName
DoCmd.Close acReport, "REPORT"
DoEvents
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
【问题讨论】:
【参考方案1】:这应该可行:
temp = rs("EENo").Value & rs("Employee Name").Value
MyFileName = "Statement_" & rs("Employee Name").Value & "_" & _
Format(rs("EENo").Value, "000000") & ".PDF"
编辑:我并没有真正查看您的 SQL,并且错过了您在查询中合并了两列。我不使用访问权限,但尝试:
Set rs = db.OpenRecordset("SELECT distinct [EENo] , [Employee Name] FROM [Query]", _
dbOpenSnapshot)
【讨论】:
谢谢蒂姆,我会试试看 我已添加代码并收到以下错误:运行时错误 '3265' 在此集合中找不到项目。当我打开代码时,出现错误:temp = rs( “EENo”和“员工姓名”) 我已尝试上述更新 (temp = rs("EENo").Value & rs("Employee Name").Value) 并收到错误“在此集合中找不到项目”。它一定是我缺少的东西...... 在实际查看您的 SQL 后再次编辑您只在查询结果中返回一列。以上是关于保存具有不同名称的访问报告的主要内容,如果未能解决你的问题,请参考以下文章