如何从存储在查询中的地址发送Microsoft Access的电子邮件?

时间:2011-10-10 20:51:40

标签: email ms-access

我有一个名为PersonsContactDetails的表,其中有两个字段:ContactDetailType和ContactDetailValue。第一个存储电子邮件的类型:“个人电子邮件”,“工作电子邮件”,“通用电子邮件”,第二个字段存储电子邮件地址。

我正在运行一个Query PersonalEmailList和WorkEmailList,它不仅存储各自的电子邮件类型,还包括CountryOfOrigin,City和Gender。

我想向所有联系人发送电子邮件,具体取决于他们的原籍国,城市或性别。我尝试过滤QueryDataSheet并使用OpenRecordSet进行VBA循环但是我得到“类型不匹配错误”,我知道OpendRecordSet仅适用于数据表。

我怎么能继续这个解决方案,知道我的所有这一点,是根据他们的国家,城市或性别过滤我的查询中的联系人电子邮件,然后从那里发送电子邮件(当然使用BCC)领域。

1 个答案:

答案 0 :(得分:0)

一种简单的方法是从表或查询中创建记录集,如下所示:

Dim db As DAO.Database
Dim rs As DAO.Recordset

''If this is run from a form, it may suit to use recordsetclone, otherwise

Set db = CurrentDB
s = "SELECT PersonalEmail FROM PersonsContactDetails " _
  & "WHERE CountryOfOrigin = 'Tsort'"
Set rs = db.OpenRecordset

Do While Not rs.EOF
   If Not IsNull(rs!PersonalEmail) Then
      EmailList = ";" & rs!PersonalEmail
   End If

   rs.MoveNext
Loop

''http://msdn.microsoft.com/en-us/library/bb214075(v=office.12).aspx

DoCmd.SendObject acSendNoObject, , , , , Mid(EmailList, 2), "Test", "Hi", True