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

Email 如何使用存储在查询中的地址从Microsoft Access发送电子邮件?,email,ms-access,Email,Ms Access,我有一个名为PersonsContactDetails的表,其中有两个字段:ContactDetailType和ContactDetailValue。第一个字段存储电子邮件的类型:“个人电子邮件”、“工作电子邮件”、“普通电子邮件”,第二个字段存储电子邮件地址 我正在运行一个查询PersonalEmailList和WorkEmailList,它不仅存储各自的电子邮件类型,还存储来源国、城市和性别 我想向所有联系人发送电子邮件,具体取决于他们的原籍国、城市或性别。我试图过滤QueryDataShe

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

我正在运行一个查询PersonalEmailList和WorkEmailList,它不仅存储各自的电子邮件类型,还存储来源国、城市和性别

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


知道我在这方面的目的是根据联系人的国家、城市或性别筛选他们在我的查询中的电子邮件,并从中发送电子邮件(当然使用密件抄送)字段,我如何着手解决这个问题

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

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