Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5625 / 9994 ←次へ | 前へ→

【7584】Re:メール自動配信
質問  furau  - 06/3/27(月) 12:18 -

引用なし
パスワード
   ▼Gin_II さん:たぬき さん

>>配信先用にT_Mailと言うテーブルに送りたい人達のアドレスを記入しているのですが、
>>一番最後のレコードの人にしか配信できません。
>>どのようにしたらテーブル全員へ配信出来ますでしょうか?
>
>プログラムのロジックが間違っているのでしょうけど、そのプログラムを
>提示されないと、どこが間違っているのか指摘はできないと思いますが ^^;

>>>Gin_IIさん、たぬきさん、せっかくの返答に答えが遅くてすみません。ありがとうございます。
>>>お粗末ながら、

Public Sub MailSubmit2()

Dim dbDAO As DAO.Database
Dim rsDAO, rsMDAO, rsM2DAO As DAO.Recordset
Dim strEmail, strEmail2 As Variant '-----送信先とCCのEmailアドレスです。
Dim strSubject As String    '-----件名です。
Dim strText As String      '-----署名を含む本文です。
Dim strDate As String      '-----対象期間として差し込む日付文字列です。
Dim strSQLM, strSQLM2 As String
Dim i As Integer
   
 strSQLM = _
 "SELECT * FROM T_Mail where flg = 1"
  
 Set dbDAO = CurrentDb
 Set rsDAO = dbDAO.OpenRecordset("Q_対象期間2", dbOpenDynaset)
 Set rsMDAO = dbDAO.OpenRecordset(strSQLM)
  
 DoCmd.SetWarnings False
  
  
  rsMDAO.MoveFirst
  Do Until rsMDAO.EOF = True
    'strEmail = rsMDAO(0) & ";"
    strEmail = rsMDAO!Mail & ";"
    rsMDAO.MoveNext

  Loop

  If Right(strEmail, 1) = ";" Then
    strEmail = Left(strEmail, Len(strEmail) - 1)
  End If
  Next
'------------------------------------------------------以下CC用
  strSQLM2 = _
  "SELECT * FROM T_Mail_CC where flg = 1"
  
  Set db = CurrentDb
  Set rs = db.OpenRecordset("Q_対象期間2")
  Set rsM2 = db.OpenRecordset(strSQLM2)
  
  DoCmd.SetWarnings False
  
  rsM2DAO.MoveFirst
  Do Until rsM2.EOF
    strEmail2 = rsM2(0) & ";"
    strEmail2 = rsM2DAO!Mail
    rsM2DAO.MoveNext
  Loop

  If Right(strEmail2, 1) = ";" Then
    strEmail2 = Left(strEmail2, Len(strEmail2) - 1)
  End If
  
  
  '-----件名は動的に差込み
  strSubject = "テスト & DateDiff("ww", #1/1/2003#, Date) - 21 & "-Web資料請求(デイリー)投入しました"
  
  rs.MoveFirst
    strDate = rs!対象期間 & "〜"
  rs.MoveLast
  '-----以下の式が成り立てば対象日付は複数あるので、・・・
  If Left(strDate, Len(strDate) - 1) <> rs!対象期間 Then
    strDate = strDate & rs!対象期間
  Else
  '-----対象日付が1日のみであれば、「〜」の文字列を省く
    strDate = Left(strDate, Len(strDate) - 1)
  End If
  
  '-----以下、メール文言ココカラ(署名含む)
  strText = vbCrLf & "   各位" & vbCrLf & vbCrLf & _
  "   『" & DateDiff("ww", #1/1/2003#, Date) - 21 & "-資料請求(デイリー)』の投入が完了致しました。" & vbCrLf & _
  "   コール可能な状態になっております。" & vbCrLf & vbCrLf & _
  "   対象期間:" & strDate & vbCrLf & vbCrLf & _
  "   件数:" & DLookup("Count", "Q_Count") & " 件" & vbCrLf & vbCrLf & _
  "   ご確認ください。" & vbCrLf & vbCrLf & vbCrLf & _
  "   株式会社 ○○" & vbCrLf & vbCrLf & _
  "   △△事業本部 ××営業部" & vbCrLf & _
  "   furau" & vbCrLf & _
  "   e-mail : x-xxxx2@xx.com" & vbCrLf & _
  "   TEL:xx-xxxx-xxxx/FAX:xx-xxxx-xxxx"
  '-----メール文言ココマデ


DoCmd.SendObject acSendNoObject, , acFormatHTML, strEmail, strEmail2, , strSubject, strText, True
  DoCmd.SetWarnings True
  
  rsMDAO.Close: Set rsM = Nothing
  rsDAO.Close: Set rs = Nothing
  dbDAO.Close: Set db = Nothing

End Sub
575 hits

【7577】メール自動配信 furau 06/3/24(金) 17:21 質問
【7578】Re:メール自動配信 Gin_II 06/3/24(金) 17:36 回答
【7584】Re:メール自動配信 furau 06/3/27(月) 12:18 質問
【7586】Re:メール自動配信 Gin_II 06/3/27(月) 12:40 回答
【7617】Re:メール自動配信 furau 06/3/30(木) 10:46 お礼
【7579】Re:メール自動配信 たぬき 06/3/24(金) 18:27 発言
【7585】Re:メール自動配信 furau 06/3/27(月) 12:21 質問
【7587】Re:メール自動配信 たぬき 06/3/27(月) 13:36 回答
【7616】Re:メール自動配信 furau 06/3/30(木) 10:44 お礼

5625 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free