Beste OctaFish,
Ik refereer hiermee naar een eerder draadje van 17/08/2011 t.e.m. 19/08/2011 met de benaming "naar meerde adressen mailen".
Deze oplossing heb ik toegepast voor een dagelijkse verjaardag mailing ; en deze werkt perfect na enkele aanpassingen uiteraard.
Nu wou ik deze toepassen op een zoek formulier en vandaaruit de mailing opstarten ; maar daar loopt het fout.
Het betreft de form: "frm-sollicitant_zoek_functie" : deze komt uit de tbl_sollicitant en/of qry_sollicitant (deze zijn identiek)
In één van jou VBA-Access lessen heb ik gevonden/geleerd hoe je een filter via een keuzelijst met invoervak kunt weergeven op een form (VBA-code). Dit werkt perfect, ook in mijn form !!!
Deze filter gebruik ik om een functie te zoeken van een bepaalde sollicitant en weer te geven op de form: frm-sollicitant_zoek_functie. Dit desbetreffende formulier = een doorlopend formulier.
Als je nou kijkt naar de tbl_sollicitant of qry_sollicitant daar zit +- 5.800 records in en het is niet de bedoeling dat ik iedereen telkens aanschrijf ; dat kan de bedoeling niet zijn.
Ik kan wel een selectie volgens maken op het formulier (frm-sollicitant_zoek_functie) en daar de juiste gegeven uit tevoorschijn krijgen, maar deze gegroepeerd doormailen lukt me niet.
In het doorlopend formulier (frm-sollicitant_zoek_functie) staan volgende gegevens ; NAAM - VOORNAAM - GEBOORTEDATUM - LEEFTIJD - EMAIL - GSM/TELEFOON - SELECTIEVAKJE.
Momenteel gebruik ik volgende VBA code:
Ik heb mijn probeersels ook laten staan zodat je kan zien wat ik "niet goed" heb gedaan.
Heb je enig ander idee?
Ik refereer hiermee naar een eerder draadje van 17/08/2011 t.e.m. 19/08/2011 met de benaming "naar meerde adressen mailen".
Deze oplossing heb ik toegepast voor een dagelijkse verjaardag mailing ; en deze werkt perfect na enkele aanpassingen uiteraard.
Nu wou ik deze toepassen op een zoek formulier en vandaaruit de mailing opstarten ; maar daar loopt het fout.
Het betreft de form: "frm-sollicitant_zoek_functie" : deze komt uit de tbl_sollicitant en/of qry_sollicitant (deze zijn identiek)
In één van jou VBA-Access lessen heb ik gevonden/geleerd hoe je een filter via een keuzelijst met invoervak kunt weergeven op een form (VBA-code). Dit werkt perfect, ook in mijn form !!!
Deze filter gebruik ik om een functie te zoeken van een bepaalde sollicitant en weer te geven op de form: frm-sollicitant_zoek_functie. Dit desbetreffende formulier = een doorlopend formulier.
Als je nou kijkt naar de tbl_sollicitant of qry_sollicitant daar zit +- 5.800 records in en het is niet de bedoeling dat ik iedereen telkens aanschrijf ; dat kan de bedoeling niet zijn.
Ik kan wel een selectie volgens maken op het formulier (frm-sollicitant_zoek_functie) en daar de juiste gegeven uit tevoorschijn krijgen, maar deze gegroepeerd doormailen lukt me niet.
In het doorlopend formulier (frm-sollicitant_zoek_functie) staan volgende gegevens ; NAAM - VOORNAAM - GEBOORTEDATUM - LEEFTIJD - EMAIL - GSM/TELEFOON - SELECTIEVAKJE.
Momenteel gebruik ik volgende VBA code:
Code:
Private Sub btnTestMailing_Click()
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Dim sEmail As String
Dim sVerzonden As String
Dim iAantal As Integer
Dim i As Integer
Set appOutLook = CreateObject("Outlook.Application")
'Set MailOutLook = appOutLook.CreateItem(olMailItem)
Set MailOutLook = appOutLook.CreateItemFromTemplate("c:\tmp\jobopportuniteit.oft")
sEmail = ""
sVerzonden = ""
With CurrentDb.OpenRecordset("qry_sollicitant")
' With CurrentDb.OpenRecordset("qry_sollicitant WHERE chkSelecteer = TRUE")
' With CurrentDb.OpenRecordset("qry_sollicitant WHERE SELECTEER_SOLLICITANT = TRUE")
If Not .RecordCount = 0 Then
.MoveLast
.MoveFirst
iAantal = .RecordCount
Do While Not .EOF
sEmail = sEmail & .Fields("EMAIL_SOLLICITANT").Value
If i < iAantal Then sEmail = sEmail & ";"
' i = i + 1
With MailOutLook
'.Body = "" ' == Bij set MailoutLook ; createFromTemplate ; GEEN .Body gebruiken ==
'.To = sEmail
.BCC = sEmail
.Subject = "TDDE - "
.Display
End With
sVerzonden = sVerzonden & sEmail & ", "
.MoveNext
Loop
End If
End With
Do While Right(sVerzonden, 2) = ", "
sVerzonden = Left(sVerzonden, Len(sVerzonden) - 2)
Loop
Msgbox "Er is een mail gestuurd naar " & sEmail & "."
Exit Sub
email_error:
Msgbox "Er was een foutje..." & vbCrLf & "En wel: " & Err.Description
End Sub
Ik heb mijn probeersels ook laten staan zodat je kan zien wat ik "niet goed" heb gedaan.
Heb je enig ander idee?