vba in ACCESS aanpassen om dubbele mailadressen in Outlook te vermijden

Status
Niet open voor verdere reacties.

mixology

Gebruiker
Lid geworden
12 dec 2010
Berichten
57
Via onderstaande code( die ik ooit samenstelde met knip en plakwerk van info op het www) open ik Outlook en wordt het BCC veld dan automatisch ingevuld met de mailadressen die horen bij het resultaat van mijn query. Het komt echter voor dat de query, op uitzondering van de waarde in “Comité” meerdere keren dezelfde (correcte) info weergeeft. Dit zorgt er dan voor dat bepaalde mailadressen meerdere keren ingevuld worden in het BCC veld in Outlook.
Is er een mogelijkheid om dit, eventueel mits aanpassing van de reeds bestaande code, te vermijden zodat de ontvangers de mail niet meerdere keren ontvangen of ik niet moet “deleten” in het BCC veld?

Dank voor iedere hulp !

Yuri

Code:
'opent outlook en verzendt mail via BCC'
Dim EmailAddress As String, strSQL As String, sFilter As String, sQ As String

    sQ = """"
    strSQL = "SELECT Idf, Comité, Achternaam, Voornaam, gewest, Adres, Postcode, Plaats, [Graad_voluit], Arbeidsplaats, [Arbeidsplaats_adres], GSM, [e-mail privé] FROM tbl_oplijsting_comités_all_info"
 
    If Not Me.cbo1 & "" = "" Then
        If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
        sFilter = sFilter & "[Comité]=" & sQ & Me.cbo1 & sQ
    End If

  
    If Not sFilter & "" = "" Then
        strSQL = strSQL & " WHERE " & sFilter
    End If
    
    With CurrentDb.OpenRecordset(strSQL)
        If .RecordCount > 0 Then
            Do While Not .EOF
                If Not .Fields("e-mail privé") = "" Then EmailAddress = EmailAddress & .Fields("e-mail privé") & ";"
                .MoveNext
            Loop
        End If
        .Close
        EmailAddress = Left(EmailAddress, Len(EmailAddress) - 1)
    End With

    ''MsgBox EmailAddress
    DoCmd.SendObject , , , , , EmailAddress, , , True
 
Waarom gebruik je 13 velden in een query, als je er maar één nodig hebt? Dat smeekt om dubbele records. Sowieso zit er geen groepering in je query, en je maakt hem ook al niet op basis van unieke waarden. Nogmaals: hoe meer velden, hoe groter de kans dat de records niet meer uniek zijn. Om unieke email adressen te halen uit je bron, is dit voldoende:
Code:
    strSQL = "SELECT DISTINCT [e-mail privé] FROM tbl_oplijsting_comités_all_info"
Gezien de rest van je code, kun je daarmee bereiken wat je wilt.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan