Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 尝试从querydef获取多个fiedld并传输到默认电子邮件_Email_Ms Access_Pdf_Vba - Fatal编程技术网

Email 尝试从querydef获取多个fiedld并传输到默认电子邮件

Email 尝试从querydef获取多个fiedld并传输到默认电子邮件,email,ms-access,pdf,vba,Email,Ms Access,Pdf,Vba,我一直在使用一个数据库,并收到帮助,以获得正确的功能,因为代码使用一个查询,然后通过每个报表组(按名称)循环,填充报表的字段,并按单个名称保存报表。这是我一直在努力的最后一部分。记录集中的一个字段是Sup_Email,我正在尝试将带有上述字段中电子邮件地址的Sup报告传递给我的默认电子邮件客户端。我不知道如何分离第二个变量,将它与正确的报告一起保存,并将它们都传递给电子邮件。任何帮助都将不胜感激 私有子创建报告\u单击() 端接头 每个Sup只有一个电子邮件地址。它的设置方式是,查询(OPDA

我一直在使用一个数据库,并收到帮助,以获得正确的功能,因为代码使用一个查询,然后通过每个报表组(按名称)循环,填充报表的字段,并按单个名称保存报表。这是我一直在努力的最后一部分。记录集中的一个字段是Sup_Email,我正在尝试将带有上述字段中电子邮件地址的Sup报告传递给我的默认电子邮件客户端。我不知道如何分离第二个变量,将它与正确的报告一起保存,并将它们都传递给电子邮件。任何帮助都将不胜感激

私有子创建报告\u单击()

端接头


每个Sup只有一个电子邮件地址。它的设置方式是,查询(OPDA ISSR-从上方按地区/Cir查询法院用户)提取主管的名字和姓氏,并将其连接到Sup中,它还有他们的电话和电子邮件地址(Sup_电子邮件),然后有员工、他们的帐户和访问级别,这些信息都适用于表单的每个字段。我昨天收到的指令创建了一个查询记录集(它正在继续循环)。然后,我尝试为电子邮件添加字段,但从那时起,所有字段都出现了错误。

我已修改了您的代码,以便它使用表中的电子邮件地址创建报告,然后发送

Private Sub CreateReports_Click()
Dim x           As String
Dim y           As String
Dim StrSQL      As String
Dim stWhereStr  As String 'Where Condition'
Dim stSection   As String 'Selection from drop down list
Dim stfile      As String
Dim stDocName   As String
Dim StrEmail    As String

StrSQL = "SELECT DISTINCTROW [OPDA ISSR- Courts Users by District/Cir].[Sup], [OPDA ISSR- Courts Users by District/Cir].SupEmail " & _
    "FROM [OPDA ISSR- Courts Users by District/Cir];"
y = Year(Date)


Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb
Dim qdTemp As DAO.QueryDef
Set qdTemp = db.CreateQueryDef("", StrSQL)
Set rst = qdTemp.OpenRecordset()
If rst.EOF And rst.BOF Then
    MsgBox "No data available for the Ledger Process routine."
Else
    Debug.Print rst.Fields.Count
    rst.MoveFirst
    Do While Not rst.EOF
        x = rst![Sup]
        StrEmail = rst![Supemail]

        stDocName = "Courts - ISSR Recertification Report"
        stWhereStr = "[OPDA ISSR- Courts Users by District/Cir].[SUP]= '" & x & "'"
        stfile = "P:\DFI\FIB\Access Tables\FibCustomers\ISSR Reports\Courts\" & x & " - " & y & " FedInvest InvestOne Recertification.pdf"

        DoCmd.OpenReport stDocName, acPreview, , stWhereStr
        DoCmd.SendObject acSendReport, stDocName, acFormatPDF, StrEmail, , , "My Subject here", "your report"
        DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, stfile
        DoCmd.Close acReport, stDocName

        rst.MoveNext
    Loop
End If
rst.Close
Set rst = Nothing
End Sub

您的查询只返回一个字段(SUP)。您从哪里获得电子邮件地址?然后请解释为什么您上面显示的代码没有该字段?我想帮忙,但需要事实。请用您的代码的外观更新上面的代码。您修改的代码将无法工作,因为您从未引用“strEmail”SQL字符串。我们需要备份和定义环境。由于两个SQL字符串引用同一个表,我假设您的表有一个报告变量(SUP)和一个关联的电子邮件地址?同一份报告可能有两封电子邮件吗?如果是这样,您是向这两个地址发送两次还是发送一封电子邮件?如果您再次编辑代码,请添加一些空格,使其正确格式化(即Sub和Dim以及End Sub未格式化)
Private Sub CreateReports_Click()
Dim x           As String
Dim y           As String
Dim StrSQL      As String
Dim stWhereStr  As String 'Where Condition'
Dim stSection   As String 'Selection from drop down list
Dim stfile      As String
Dim stDocName   As String
Dim StrEmail    As String

StrSQL = "SELECT DISTINCTROW [OPDA ISSR- Courts Users by District/Cir].[Sup], [OPDA ISSR- Courts Users by District/Cir].SupEmail " & _
    "FROM [OPDA ISSR- Courts Users by District/Cir];"
y = Year(Date)


Dim db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb
Dim qdTemp As DAO.QueryDef
Set qdTemp = db.CreateQueryDef("", StrSQL)
Set rst = qdTemp.OpenRecordset()
If rst.EOF And rst.BOF Then
    MsgBox "No data available for the Ledger Process routine."
Else
    Debug.Print rst.Fields.Count
    rst.MoveFirst
    Do While Not rst.EOF
        x = rst![Sup]
        StrEmail = rst![Supemail]

        stDocName = "Courts - ISSR Recertification Report"
        stWhereStr = "[OPDA ISSR- Courts Users by District/Cir].[SUP]= '" & x & "'"
        stfile = "P:\DFI\FIB\Access Tables\FibCustomers\ISSR Reports\Courts\" & x & " - " & y & " FedInvest InvestOne Recertification.pdf"

        DoCmd.OpenReport stDocName, acPreview, , stWhereStr
        DoCmd.SendObject acSendReport, stDocName, acFormatPDF, StrEmail, , , "My Subject here", "your report"
        DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, stfile
        DoCmd.Close acReport, stDocName

        rst.MoveNext
    Loop
End If
rst.Close
Set rst = Nothing
End Sub