メール送信履歴登録 -- ACCESS VBA --



'-------------------------
Private Sub メール送信履歴登録()
'メール送信履歴登録をします。

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
Dim mySQL(2) As String
Dim strmsg As String
Dim str As Variant

'メルアドを抽出したい
mySQL(0) = "SELECT DISTINCT コード FROM テーブル1 WHERE isnull(日付);"
mySQL(1) = "SELECT メールアドレス FROM テーブル2 WHERE コード= any (" & mySQL(0) & ")"
rs.Open mySQL(1), cn, adOpenForwardOnly, adLockOptimistic

str = Null
'コードを複数取得する。
  Do Until rs.EOF '対象とするテーブルの最後まで進みます。
  str = str & IIf(Not IsNull(str), ",", "") & "'" & rs!コード & "'"
  rs.MoveNext
  Loop

'テーブル4からWhere〜In〜で抽出した情報を、テーブル3に追加クエリで追加する
mySQL = "INSERT INTO テーブル3 ( 顧客名,顧客担当者,メールアドレス)" & _
  "Select コード, 顧客名, 顧客担当者,メールアドレス, #" & Now() & "# " & _
  "From テーブル4 Where テーブル2.コード In(" & str & ");"

DoCmd.SetWarnings False
DoCmd.RunSQL mySQL2
DoCmd.SetWarnings True

MsgBox "メール送信履歴登録しました。", 64, "メール送信履歴登録"

Set rs = Nothing
Set cn = Nothing

End Sub




トップへ
トップへ
戻る
戻る