Я хочу автоматически отправлять c электронных писем лицам, чей emailID будет сохранен в полях запроса, с моим отчетом (одинаковым для всех) в качестве вложения.
- У меня есть запрос , во время компиляции он показывает сообщение об ошибке "в выражении запроса.
Ошибка 3075
- Мне нужно приложить свой отчет к каждому письму, но я не могу найти способ удалять каждый раз после отправки из моего локального файла ( Я удалил код, связанный с этим, поэтому вы можете добавить новый )
Option Compare Database
Option Explicit
Public Sub sendserialemail()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim emailto As String
Dim emailcc As String
Dim emailsubject As String
Dim emailtext As String
Dim outapp As Outlook.Application
Dim outmail As Outlook.MailItem
Dim outstarted As Boolean
Dim rpt As Report
Dim pdfmail As String
On Error Resume Next
Set outapp = GetObject(, "outlook.application")
On Error GoTo 0
If outapp Is Nothing Then
Set outapp = CreateObject("outlook.application")
outstarted = True
End If
Set db = CurrentDb
Set rs = db.OpenRecordset("qryeMailOverdueTasks")
DoCmd.OutputTo acOutputReport, "tasks", acFormatPDF, "desktop"
Do Until rs.EOF
emailto = rs.Fields("responsible person").Value
emailcc = "ravikumar.ramadas@plansee.com"
emailsubject = "Pending tasks to complete the issue regarding" & " " & rs.Fields("issue").Value
emailtext = "Hello" & vbCrLf & "Kindly complete the task which is in the attached file to complete the cutomer isue regarding" & " " & rs.Fields("issue").Value
pdfmail = "tasks.pdf"
Set outmail = outapp.CreateItem(olMailItem)
outmail.To = emailto
outmail.CC = emailcc
outmail.Subject = emailsubject
outmail.Body = emailtext
outmail.Attachments = pdfmail
outmail.Send
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
If outstarted Then
outapp.Quit
End If
Set outmail = Nothing
Set outapp = Nothing
End Sub