Смотрите код ниже, который возвращает ошибку времени выполнения 3265 из-за строки:
strTo =! email_address1
однако, если я изменил его на
strTo =! AccountNumber, он будет правильно заполнен в электронной почте outlook To:, но мне нужен адрес электронной почты, а не номер учетной записи - мне нужно определить email_address1? это короткое текстовое поле в моем запросе / отчете. если да, то как мне это определить? совершенно новый доступ.
Option Compare Database
Sub Mac1()
Dim rsAccountNumber As DAO.Recordset
Dim strTo As Variant
Dim strSubject As String
Dim strMessageText As String
Set rsAccountNumber = CurrentDb.OpenRecordset("SELECT DISTINCT AccountNumber, email_address1 FROM [P3_DVP_UnAffirmed_Report_for_En Query]", dbOpenSnapshot)
With rsAccountNumber
Do Until .EOF
DoCmd.OpenReport "Unaffirmed Report", _
acViewPreview, _
WhereCondition:="AccountNumber = '" & !AccountNumber & "'", _
WindowMode:=acHidden
strTo = !Email_Address1
strSubject = "Invoice Number "
strMessageText = "Text Here"
DoCmd.SendObject ObjectType:=acSendReport, _
ObjectName:="Unaffirmed Report", _
OutputFormat:=acFormatPDF, _
To:=strTo, _
Subject:=strSubject, _
MESSAGETEXT:=strMessageText, _
EditMessage:=True
DoCmd.Close acReport, "Unaffirmed Report", acSaveNo
.MoveNext
Loop
.Close
End With
End Sub