2013-05-12 63 views
1

我有一個列包含電子郵件地址的表。VBA訪問從數據庫獲取字符串

我想獲得這些電子郵件地址併發送郵件給他們。 我的問題是,我不知道如何獲取地址。 我想獲得一個字符串作爲

[email protected];[email protected];[email protected] 

我怎樣才能得到這個字符串,以便將其傳遞給受惠人士票價?

+0

你嘗試使用字符串,因爲它是? – gordatron 2013-05-12 18:44:12

+0

你是什麼意思?我不知道電子郵件將在數據庫 – 2013-05-12 18:44:58

+0

這是如何在你的DB字符串? – gordatron 2013-05-12 18:58:06

回答

2

從存儲器(未測試):

Dim db As DAO.Database, rs As DAO.Recordset 
Dim s As String 

Set db = CurrentDb 
Set rs = db.OpenRecordset("SELECT email FROM myTable WHERE ...") 
Do While Not rs.EOF 
    If s = "" Then 
     s = rs!email 
    Else 
     s = s & ";" & rs!email 
    End If 
    rs.MoveNext 
Loop 
rs.Close: Set rs = Nothing 
db.Close: Set db = Nothing 

由於從查詢連接字符串是一種常見的任務,我建議創建一個可重複使用的功能:

Public Function ConcatenateFromSql(ByVal sql As String, _ 
            Optional ByVal delimiter As String = ";") As String 
    Dim db As DAO.Database, rs As DAO.Recordset 
    Dim s As String 

    Set db = CurrentDb 
    Set rs = db.OpenRecordset(sql) 
    Do While Not rs.EOF 
     If s = "" Then 
      s = rs(0) 
     Else 
      s = s & delimiter & rs(0) 
     End If 
     rs.MoveNext 
    Loop 
    rs.Close: Set rs = Nothing 
    db.Close: Set db = Nothing 

    ConcatenateFromSql = s 
End Function 
+0

優秀!!感謝您的幫助!:) – 2013-05-12 19:58:23