Hi, as far as the Outlook automation goes, I don't know if this is a "better" way, but it is another way.
Sub OutlookTest()
Dim Recipient As String
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application"

Set MailOutLook = appOutLook.CreateItem(olMailItem)
Recipient = "Name here"
With MailOutLook
.To = Recipient
.Subject = ""
.Body = ""
.Attachments.Add "PATH", olByReference,1, "Approval"
'Use 'olByValue' to send actual file as attachment
'.DeleteAfterSubmit = True 'This would let Outlook send the note without storing it in your sent bin
.Send
End With
DriverExit:
On Error Resume Next
Set MailOutLook = Nothing
Set appOutLook = Nothing
Exit Sub
End Sub
As for getting multiple names from your dB something like this would work (I'm using DAO here, but ADO would look very simmilar)
Sub OutlookTest()
Dim Recipient As String
Dim rst as DAO.Recordset
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application"

Set MailOutLook = appOutLook.CreateItem(olMailItem)
Set rst = CurrentDB.OpenRecordset("QueryName"
Do Until rst.EOF
Recipient = Recipient & rst!EmailField & ";"
Loop
With MailOutLook
.To = Recipient
.Subject = ""
.Body = ""
.Attachments.Add "PATH", olByReference,1, "Approval"
'Use 'olByValue' to send actual file as attachment
'.DeleteAfterSubmit = True 'This would let Outlook send the note without storing it in your sent bin
.Send
End With
DriverExit:
On Error Resume Next
Set MailOutLook = Nothing
Set appOutLook = Nothing
Exit Sub
End Sub Kyle
![[anakin] [anakin] [anakin]](/data/assets/smilies/anakin.gif)
+
![[curse] [curse] [curse]](/data/assets/smilies/curse.gif)
=
![[anakin] [anakin] [anakin]](/data/assets/smilies/anakin.gif)
+
![[amidala] [amidala] [amidala]](/data/assets/smilies/amidala.gif)
=
![[lightsaber] [lightsaber] [lightsaber]](/data/assets/smilies/lightsaber.gif)