mail genereren in vba voor mail

Status
Niet open voor verdere reacties.

phobia

Terugkerende gebruiker
Lid geworden
4 sep 2006
Berichten
1.777
Ik probeer automatisch een mailtje te maken.

ik het een tabel met leveranciers gegevens + een record mailen(ja/nee)
en een tabel met artikelen gegevens + een record bestellen(ja/nee) en een record ID_leveranciers

met de volgende code ben ik wel een eindje op weg, maar het is lastig en omslachtig.

Kan iemand mij vertellen hoe ik in vba een query kan uitvoeren en een loop in een loop moet maken

Code:
Private Sub Knop24_Click()


Dim Body As String
Dim db As Database
Dim rs As Recordset
Dim rs2 As Recordset
Dim strAan As String


Set db = CurrentDb
Set rs = db.OpenRecordset("qryartikelenmailen")

rs.MoveFirst

  Do While Not rs.EOF
    Body1 = "<p><strong>" + "Leverancier:  " + rs!Leverancier + "</p>" + "<p>  Contactpersoon: " + rs!Contactpersoon + "</p>" + "<p>  Adres: " + rs!Adres + "</p></strong>"
    Body2 = "<p>" + "Postcode:  " + rs!Postcode + "</p>" + "<p>  Plaats: " + rs!Plaats + "</p>" + "<p>  E-mail: " + rs!E_mail + "</p>"
    Body = Body1 + Body2
    strAan = rs!E_mail
        Set db = CurrentDb
        Set rs2 = db.OpenRecordset("qryartikelen")
        rs.MoveFirst
            Do While Not rs.EOF
            Body = Body + "<p>" + rs2!Artikel + "       " + rs2!Bestelnummer + "       </p>"
            rs.MoveNext
            Loop
       
       SendEmail strAan, "testmerge", Body, ""

  Loop
 MsgBox "Verzonden aan " + Leverancier, vbOKOnly, "Mail Verzonden."
End Sub
 
Wat is precies het probleem met de huidige constructie? Werkt-ie niet goed?

Michel
 
Je kunt toch ook in een tabel iets doen met

SELECT naam,plaats,postcode FROM tblLeverancier WHERE mailen = True

maar ik snapt dat niet

Wat ik nu gemaakte heb werkt op 2 Queries en vindt ik wat omslachtig
 
Als het ik het rood weg laats, word er een mails aangemaakt met in elke bestelling al de artikelen van al de leveranciers. Dus ik denk voeg dat in rood bij. maar niks, krijg ik de volgende fout melding : Er zijn te weinig parameter. Het verwachte aantal is: 1

wat doe ik fout?

Code:
Private Sub Knop24_Click()


Dim Body As String
Dim Body_artikel As String
Dim db As Database
Dim rs As Recordset
Dim rs2 As Recordset
Dim strAan As String
Dim qstr1 As String
Dim qstr2 As String
Dim x As String
Dim y As String


qstr1 = "SELECT *  FROM leverancier WHERE mailen = true"
qstr2 = "SELECT *  FROM artikelen WHERE bestellen = true and [COLOR="Red"][B]Id_Leverancier = rs!Id[/B][/COLOR]"
Set db = CurrentDb
Set rs = db.OpenRecordset(qstr1)
rs.MoveFirst
x = 0
  Do While Not rs.EOF

    Body = Body + "<p><strong>" + "Leverancier:  " + rs!Leverancier + "</p>" + "<p>  Contactpersoon: " + rs!Contactpersoon + "</p>" + "<p>  Adres: " + rs!Adres + "</p></strong>"
    Body = Body + "<p>" + "Postcode:  " + rs!Postcode + "</p>" + "<p>  Plaats: " + rs!Plaats + "</p>" + "<p>  E-mail: " + rs!E_mail + "</p>"
    
    strAan = rs!E_mail
        
    Set rs2 = db.OpenRecordset(qstr2)
    rs2.MoveFirst
        Do While Not rs2.EOF
            Body_artikel = Body_artikel + "<p>" + rs2!Artikel + "       " + rs2!Bestelnummer + "       </p>"
            rs2.MoveNext
        Loop
    Body = Body + Body_artikel
    Body_artikel = ""
    x = x + 1
    SendEmail strAan, "testmerge", Body, ""
    Body = ""
rs.MoveNext
Loop
  If x > 0 Then y = "s"
   
    MsgBox x + " mail" + y + " verzonden", vbOKOnly, "Mail Verzonden."
 x = 0
 
 db.Close
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan