访问VBA以根据查询发送Outlook电子邮件

时间:2013-12-03 00:22:50

标签: sql vba email outlook

我正在尝试创建一个按钮,单击此按钮将根据查询填充Outlook电子邮件“收件人”字段。部分查询条件基于一些组合框。如果我在查询中添加以下条件,则在运行代码时会出现此错误 - “参数太少。预期1.”如果我没有在查询中引用组合框,则代码运行完美,但我无法根据条件限制我向谁发送电子邮件。我已经打开了查询,看看是否我引用了错误的东西,但它工作正常。

我是使用Access的新手 - 所以如果这很简单,我感谢您的耐心等待。

VBA代码:

Dim db As Database
Dim rstEmail As DAO.Recordset
Dim strSQL As String
Dim strAddresses As String
Dim Outlook

Set db = CurrentDb()


If bxContactType = "Principal" Then
    strSQL = "SELECT [Principal Email] FROM qry_EmailOut;"
    Set rstEmail = db.OpenRecordset(strSQL)

    Do While Not rstEmail.EOF
        Outlook = Outlook + rstEmail("Principal Email") + ";"
        rstEmail.MoveNext
    Loop
End If

查询标准:

[表格]![电子邮件列表]![bxState]

1 个答案:

答案 0 :(得分:0)

您应该能够在where子句中过滤查询,如下所示:

strSQL = "SELECT [Principal Email] FROM qry_EmailOut WHERE <column name> = " & Chr(34) & [forms]![Email Lists]![bxState] & Chr(34)

以下链接提供了其他信息:
概述:
http://support.microsoft.com/kb/281870

具体相关问答:
http://www.access-programmers.co.uk/forums/showthread.php?t=192635

此致