Access. Verwerking Keuzevak, VBA code functioneert niet meer

Status
Niet open voor verdere reacties.

KPTPTT

Gebruiker
Lid geworden
2 mrt 2018
Berichten
321
Hallo. In mijn werkende DB heb ik het formulier "Rapport_Opdrachtgever_geselecteerd" met slechts één keuzevak (Keuzevak3) en een query "Query opdrachtgever" gemaakt. Hierin kan een bedrijfsnaam worden geselecteerd. De bedrijfsnamen zijn ontdubbeld met DISTINCT en de selectie werkt goed.

Mbv. VBA code wordt op invoer gecontroleerd en als deze er is, dan wordt een rapport geopend. Ook dit werkte goed echter op een gegeven moment werkte de VBA verwerking van de keuze in het keuzevak niet meer. De query werd niet geupdated. Door testen en op een gegeven moment de knop Bijwerken ! geklikt en toen ging het mis. Uiteindelijk bleek de oorzaak de BE Db. Ik heb een nieuwe BE en FE, formulier "Rapport_Opdrachtgever_geselecteerd", een nieuwe query "Query opdrachtgever" gemaakt. In VBA een nieuwe sub voor het formulier "Na bijwerken" gemaakt en de VBA code van het formulier er in gekopieerd.
Resultaat: Het keuzevak werkt goed, echter de VBA code niet. Volgens mij is de code goed, het heeft voorheen immers goed gewerkt.

De eerste regel in de code controleer ik of het keuzevak werkt (MsgBox og_Bedrijf). Dit werkt goed, echter de eerste test DLookUp werkt niet. De waarde van de (MsgBox test) blijft leeg, laat staan dat de volgende DLookUp werkt en het rapport wordt getoond.
Wat zou de oorzaak kunnen zijn. Ik kom er niet uit en is frustrerend omdat het na veel werk goed heeft gewerkt.

Code:
Private Sub Keuzelijst3_AfterUpdate()
Dim Keuzelijst3 As String
Dim Keuzelijst As String
Dim TempKeuzelijst As TempVar
On Error Resume Next
Dim dB As Database
Dim rs As DAO.Recordset
Dim sBedrijf As String

Dim test As String

'Test of het geselecteerde bedrijf in de DB kan worden gevonden.
    test = DLookup("[og_Bedrijf]", "[Query opdrachtgever]", "[og-Bedrijf]= '" & Me.Keuzelijst3 & "'")
    MsgBox og_Bedrijf
    MsgBox test

'Controleer op selectie en open het rapport
    If Nz(DLookup("[og_Bedrijf]", "[Query selectie opdrachtgever]", "[og-Bedrijf]= " & Me.Keuzelijst3 & "")) <> "" Then
        MsgBox ([og-Bedrijf] = " & Me.Keuzelijst3" & "'")
    
        DoCmd.OpenReport "Status naar Opdrachtgevers", acViewReport, , "[og_Bedrijf]= '" & Me.Keuzelijst3 & "'"
    End If
 
Waarom gebruik je [og-Bedrijf] en [og_Bedrijf]?
 
Wat goed van je, en bedankt. Ik zat weer te turen, zag het net ook en wilde mijn vraag gaan aanpassen. Tijdens het kopiëren zijn de karakters gewijzigd. Beide DLookups werken weer evenals de rest van de code. Hartelijk dank.
 
Laatst bewerkt:
Ik zag het toevallig en vroeg het me af :)
 
Laatst bewerkt:
Het lijkt mij een procedure die aan kwaliteit kan winnen :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan