メールアドレスを含む列を持つテーブルがあります。
これらのメールアドレスを取得してメールを送信したいと考えています。私の問題は、アドレスを取得する方法がわからないことです。文字列を取得したい
me@email.com;me2@email.com;me3@email.com...etc
この文字列をレシピエントに渡すにはどうすればよいですか?
メモリから(テストされていません):
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