子查询以在MS Access中以分号分隔列表的形式检索电子邮件地址

时间:2015-05-20 14:31:29

标签: ms-access access-vba ms-access-2010 ms-access-2013

我在Access中有一个表联系人和一个搜索表单。在用户指定搜索条件后,该表仅显示符合条件的记录

他们是否可以将搜索到的联系人的所有电子邮件地址检索为分号分隔列表,以便我可以复制并粘贴到新电子邮件的“收件人”字段中。

感谢任何帮助

罗斯汉。

1 个答案:

答案 0 :(得分:0)

您也可以使用UDF,只是将其保留在程序之外。获取筛选结果的条件。然后你只需通过标准。我不确定你是如何制定标准的。在黑暗中刺伤是获得所有名为" Paul"的人的电子邮件。所以你的代码就是。

Public Sub getEmailString(FieldName As String, Tablename As String, Criteria As String)
    Dim tmpRS As DAO.Recordset
    Dim tmpStr As String, retStr As String

    tmpStr = "SELECT " & FieldName & " FROM " & Tablename & " WHERE " & Criteria

    Set tmpRS = CurrentDB.OpenRecordset(tmpStr)

    If tmpRS.RecordCount > 0 Then
        Do While Not tmpRS.EOF
            retStr = retStr & tmpRS.Fields(0) & ";"
            tmpRS.MoveNext
        Loop
    End If 
    getEmailString = retStr
    Set tmpRS = Nothing
End Sub

要使用它,只需使用。

Dim someEmailString As String
someEmailString = getEmailString("EmailFieldName", "ContactsTableName", "FirstName = 'Paul'")

如果你有什么东西应该归还,

paul.someone@somedomain.com;paul.someoneelse@somenewdomain.co.uk;

希望这有帮助。