Go4Expert

Go4Expert (http://www.go4expert.com/)
-   MS Access (http://www.go4expert.com/forums/ms-access-forum/)
-   -   Emailing multiple contacts in a query (http://www.go4expert.com/forums/emailing-multiple-contacts-query-t19213/)

ParksCoordinator 28Aug2009 21:39

Emailing multiple contacts in a query
 
Hello, I'm new to access and I could use some help. I am a volunteer coordinator for Friends of the Parks groups. I've set up a parameter query (called 'MyEmailAddresses') which pulls data from my 'Volunteer List' for Friends associated with one specific park which I enter on the prompt window. I want to be able to email everyone who shows up in this query at once in Outlook, and I'd preferably also like to have them all in the BCC: line instead of To:.

I tried a macro for this based off one I use to email an individual person which goes like this:
OnError Next,
SendObject ,,,=[Volunteer Name] & IIf(Nz[E-mail Address])<>","[&[E-mail Address] & "]"),,,,,Yes,
MsgBox =[MacroError].[Description],Yes,None,

I took this macro and added

OpenQuery MyEmailAddresses, Datasheet, Edit

to the top of it...But this only adds one email address when it launches Outlook and I want them all (i.e. bob@aol.com; sue@msn.com; joe@yahoo.com etc.)

Then, I tried a module with the code below, created a macro called Distribution List and set it to the button in my form that i want to click on to email everyone. But, I get the error 'the object doesn't contain the Automation object 'DistributionList' when I click the button. I'm not sure what this means or how to fix it.

Code:

Option Compare Database

Private Sub Command309_Click()
On Error GoTo Err_Command309_Click

Dim strTo As String
Dim strCCName As String
Dim strTitle As String
Dim strMessage As String

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("MyEmailAddresses")

Do While Not rs.EOF
strTo = rs!Email & "; "
rs.MoveNext
Loop

rs.Close

strCCName = "jacque.williamson@dehort.org"
strTitle = "Friends"
strMessage = "Hello Friends!"

DoCmd.SendObject , , , strTo, strCCName, , strTitle, strMessage, False

Exit_Command309_Click:
Exit Sub

Err_Command309_Click:
MsgBox Err.Description
Resume Exit_Command309_Click

End Sub

So any suggestions on my macro or my code? Which will work best for me?

nimesh 29Aug2009 00:46

Re: Emailing multiple contacts in a query
 
I don't see any problem in subroutine

Can you attach the database (empty or with sample data will work)?

ParksCoordinator 29Aug2009 02:37

Re: Emailing multiple contacts in a query
 
1 Attachment(s)
Quote:

Originally Posted by nimesh (Post 56372)
I don't see any problem in subroutine

Can you attach the database (empty or with sample data will work)?

So, here's what I've got. It's still in the building stage, but I basically have it set up so that I can look at an event that we've had at a park, and see every volunteer who attended that day (or RSVPd).
I've also got it set up to work the other way around, so I can look at a vol. and see every event they've attended. So, this person is a 'friend of the park', who I may want to invite them and everyone else notated as a friend of this park to an upcoming event. But when I click the email friends group button, and type the park, it just opens up outlook with the first person's email address in my address book, not even in the query.

The page that has the buttons on it that I'm trying to setup for the email list is the 'volunteer list' page.

So, I'm at a stand-still now. Any help would be greatly appreciated!

nimesh 29Aug2009 15:42

Re: Emailing multiple contacts in a query
 
I believe you are referring to common problem in posts 1 and 3.

Few Comments:

1] I see that the code you mentioned above "Private Sub Command309_Click()" was written on the buttonclick on the form, and then later copied to module DistributionList which is being called by Macro.

Use which ever you may want but keep it only once (Advice) :)

2] Since you are calling it from the macro, the macro expects a function and not a subroutine
So, under the module distributionlist, make it as function
like Function fnDistributionList

Then update the macro to point it to fnDistributionList

then you won't get the error you mentioned before
'the object doesn't contain the Automation object 'DistributionList'

3] In the code below you are calling the query MyEmailAddresses which expects a paramater value, so you will get an error, "Too Few Parameter..."

Code:

Set rs = CurrentDb.OpenRecordset("MyEmailAddresses")
Kindly supply the value.

4] In the code below, there's a problem so you are getting only 1 email address and not all

Code:

Do While Not rs.EOF
strTo = rs!Email & "; "
rs.MoveNext
Loop

Change it to

Code:

Do While Not rs.EOF
strTo = rs!Email & "; " & strTo
rs.MoveNext
Loop

5] Since you want all the email id's to appear in BCC Field and not To, make the following change

Code:

DoCmd.SendObject , , , strTo, strCCName, , strTitle, strMessage, False
to
Code:

DoCmd.SendObject , , , , strCCName, strTo, strTitle, strMessage, False

ParksCoordinator 31Aug2009 22:55

Re: Emailing multiple contacts in a query
 
1 Attachment(s)
Hi, Thanks for your help.

I'm not entirely sure I've changed everything according to your directions. I'm very new to access and am self taught thus far.

I'm attaching what I've got now, and the changes I think I've made to your recommendations-however, I'm still getting error message about the automation object, so right off the bat, I know I haven't quite gotten that correct.

I also made some comments in the code for the distribution list module about some of my questions regarding your suggestions. Again, I'm a beginner, so I'm still learning a lot of the methods to the madness of SQL.

Thanks again for all of your help!


All times are GMT +5.5. The time now is 10:39.