Blok If zonder End if

Status
Niet open voor verdere reacties.

mixology

Gebruiker
Lid geworden
12 dec 2010
Berichten
57
heren en dames,

met veel copy - paste en aanpas gedoe (als access amateur ... ) creëerde ik een database met een adressenbestand en mailsysteem . Ik bots echter helemaal op het einde op een compileerfout " Blok If zonder End If" en ik zie de fout in VBA gewoon niet staan ( waarschijnlijk ben ik gewoon blind :) ) .

De database staat op http://mixology.be/dbadressenvoorHelpmij.rar . De fout doet zich voor als ik de mailquery wil starten. ( mailinglijst maken en dan rode knop rechts van formulier ) .

Wil er AUB iemand kijken en me melden wat er fout is ?

Met dank,

Yuri
 
Hoi Yuri,

Je mist idd 2x een End If. Zie hieronder in rood:
Code:
Private Sub Mail_by_Query_Click()
Dim EmailAddress As String, strSQL As String, sFilter As String, sQ As String

    sQ = """"
    strSQL = "SELECT Achternaam, Voornaam, Geboortedatum, [aanspreking], land, [E-mail], relatie, Telefoon, PrivéAdres, Plaats, Postcode, GSM FROM adressen"
    If Not Me.cborelatie & "" = "" Then
        If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
        sFilter = sFilter & "[relatie]=" & sQ & Me.cborelatie & sQ
    End If
    If Not Me.cboaanspreking & "" = "" Then
        If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
        sFilter = sFilter & "[aanspreking]=" & sQ & Me.cboaanspreking & sQ
    End If
    If Not Me.cboland & "" = "" Then
        If Not sFilter & "" = "" Then sFilter = sFilter & " AND "
        sFilter = sFilter & "[land]=" & sQ & Me.cboland & sQ
        [COLOR="#FF0000"]End If[/COLOR]
    [COLOR="#FF0000"]End If[/COLOR] 'je gebruikt hierboven 2x een if blok. Elk blok moet je afsluiten met 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") = "" Then EmailAddress = EmailAddress & .Fields("E-mail") & ";"
                .MoveNext
            Loop
        End If
        .Close
        EmailAddress = Left(EmailAddress, Len(EmailAddress) - 1)
    End With

    ''MsgBox EmailAddress
    DoCmd.SendObject , , , , , EmailAddress, , , True
    

End Sub
1

Groet,
Bert
 
Het kan allemaal wat korter:
Code:
    If Not Me.cborelatie & "" = "" Then sFilter = "[relatie]=" & sQ & Me.cborelatie & sQ
    If Not Me.cboaanspreking & "" = "" Then
        If Not sFilter & "" = "" Then sFilter = sFilter & " AND [aanspreking]=" & sQ & Me.cboaanspreking & sQ
    End If
    If Not Me.cboland & "" = "" Then
        If Not sFilter & "" = "" Then sFilter = sFilter & " AND [land]=" & sQ & Me.cboland & sQ
    End If
    If Not sFilter & "" = "" Then strSQL = strSQL & " WHERE " & sFilter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan