1

メールアドレスを含む列を持つテーブルがあります。

これらのメールアドレスを取得してメールを送信したいと考えています。私の問題は、アドレスを取得する方法がわからないことです。文字列を取得したい

me@email.com;me2@email.com;me3@email.com...etc

この文字列をレシピエントに渡すにはどうすればよいですか?

4

1 に答える 1

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
于 2013-05-12T18:58:09.513 に答える