保存具有不同名称的访问报告

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 后再次编辑您只在查询结果中返回一列。

以上是关于保存具有不同名称的访问报告的主要内容,如果未能解决你的问题,请参考以下文章

如何评估访问查询中另一个字段中包含的字段名称?

ms 访问更改报告 RecordSource 与表单

将对象保存在具有公共访问权限的 AWS S3 存储桶中

访问报告中的条件对象?

您不具有对数据库的独占访问权限这一次。如果继续进行更改,您可能无法将其保存

BIG QUERY SQL:如何在具有相同唯一键但访问期间不同的访问中查找不同的重复集?