我有一个名为PersonsContactDetails的表,其中有两个字段:ContactDetailType和ContactDetailValue。第一个存储电子邮件的类型:“个人电子邮件”,“工作电子邮件”,“通用电子邮件”,第二个字段存储电子邮件地址。
我正在运行一个Query PersonalEmailList和WorkEmailList,它不仅存储各自的电子邮件类型,还包括CountryOfOrigin,City和Gender。
我想向所有联系人发送电子邮件,具体取决于他们的原籍国,城市或性别。我尝试过滤QueryDataSheet并使用OpenRecordSet进行VBA循环但是我得到“类型不匹配错误”,我知道OpendRecordSet仅适用于数据表。
我怎么能继续这个解决方案,知道我的所有这一点,是根据他们的国家,城市或性别过滤我的查询中的联系人电子邮件,然后从那里发送电子邮件(当然使用BCC)领域。
答案 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