我正在使用MS Access创建一个包含超过5000个联系人的数据库。这些联系人分为联系人所属的员工,然后再分为类别以便于搜索。我想要做的是创建一个按钮,以表格形式(简单)打开查询,然后有复选框,以便员工可以选择,例如,100个联系人发送电子邮件到表格中的110,然后发送大量电子邮件,如简报(不是那么简单!)。我一直在努力想要解决这个问题,因为我并不真正理解编程(我很擅长这项工作而且我能尽我所能)并且我能找到的就是这个问题。关于循环(不知道!),我需要软件才能做到这一点。
请为我解决任何问题?如果可能的话,我想避免购买/安装软件,如果你有答案,请尽可能简单...
提前致谢!
凯特
答案 0 :(得分:1)
我刚在MS Access 97中创建了以下工作示例。
示例表(我使用有效的电子邮件地址测试了代码):
ID名称电子邮件
1 Rics rics@stack.com
2 Kate kate@stack.com
3 X x@stack.com
带一个按钮的表单。 单击按钮时,将执行以下代码:
Private Sub Mail_Click()
Dim r As Recordset
Dim email As String
Set r = CurrentDb.OpenRecordset("select * from Addresses")
Do While Not r.EOF
email = r(2)
DoCmd.SendObject acSendNoObject, Null, Null, email, Null, Null, "Test subject", "Message body of the test letter", False, Null
r.MoveNext
Loop
r.Close
End Sub
我希望您可以将其插入到您的应用程序中。
答案 1 :(得分:1)
搞定了工作:)
代码很棒,但需要进行一些调整以专门处理我的数据。在出现很多错误之后,这就是我最终想出来的:
Dim r As Recordset
Dim Email As String
Set r = CurrentDb.OpenRecordset("select Email from FranksFinanceBrokers")
Do While Not r.EOF
Email = Email & r(0) & ";"
r.MoveNext
Loop
r.Close
DoCmd.SendObject acSendNoObject, Null, Null, "", "", Email, "", "", True, Null
End Sub
感谢您的帮助!
答案 2 :(得分:0)
我认为你需要学习一些VBA编码来完成这项工作。这个tutorial可能很有用。
这是send email from access的一种方式。
答案 3 :(得分:0)
答案 4 :(得分:0)
rics提供的答案将向记录集中的每个人发送一封电子邮件,但听起来您可能想要做的就是将一封电子邮件发送到自定义分发列表。为此,调整rics的代码以构建类似这样的地址字符串:
Private Sub Mail_Click()
Dim r As Recordset
Dim email As String
Set r = CurrentDb.OpenRecordset("select * from Addresses")
Do While Not r.EOF
email = email & r(2) & ";"
r.MoveNext
Loop
r.Close
DoCmd.SendObject acSendNoObject, Null, Null, email, Null, Null, "Test subject", "Message body of the test letter", False, Null
End Sub
答案 5 :(得分:0)
凯特,
很抱歉,您没有针对您计划的具体“神奇”代码。你必须写点东西。我的解决方案是:
点击按钮,我会
连接所有选定的电子邮件以获取“sendTo”字符串,例如 sendTo =“bla@bla.com; blo@blo.com”。 使用sendTo +文本字符串作为参数调用doCmd.sendObject方法
选项可以是
答案 6 :(得分:0)
来自Access的电子邮件有许多陷阱,尤其是这样做可能会让您看起来像垃圾邮件发送者并导致您的电子邮件主机出现问题。此外,还有一堆安全问题。有关此信息的最佳来源是Tony Toews's Email FAQ。
答案 7 :(得分:0)
有几种方法可以绕过丢失的电子邮件地址。最简单的方法是调整SQL以排除它们:
从FranksFinanceBrokers选择电子邮件WHERE(电子邮件不是空)和(电子邮件<>“”)
另一种方法是将IF语句添加到字符串构建代码中:
IF Not IsNull(r(0))AND r(0)<> “”那么电子邮件=电子邮件& r(0)& “;”
我只是在SQL级别过滤它 - 更高效,更容易。
购买软件会更容易吗?是的,但那里的挑战在哪里? :-)你已经在那里了,所以我坚持下去。