繁体   English   中英

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

[英]How to send Email from Microsoft Access from Addresses stored in a query?

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

我正在运行一个查询PersonalEmailList和WorkEmailList,它们不仅存储各自的电子邮件类型,而且还存储CountryOfOrigin,城市和性别。

我想向所有联系人发送电子邮件,具体取决于他们的原籍国,城市或性别。 我尝试过滤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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM