• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

weer 2 x messagebox....

Status
Niet open voor verdere reacties.

blueberry013

Gebruiker
Lid geworden
23 mei 2011
Berichten
111
Hallo

Ik heb een tijdje terug een gelijkaardige vraag gesteld en waarschijnlijk krijg ik dat wel op mijn brood maar ik zit vast...
Met onderstaande code
Code:
Private Sub orderartikelcode_Change()

    On Error Resume Next

    If orderklant.Value = "" Then
        orderartikelcode.Value = ""
        MsgBox "Gelieve klant in te vullen"
        
    Else
        
    filterartikel2

Natuurlijk gaat hij nu 2 messageboxen geven als orderklant leeg is... 1 maal omdat ik in het veld orderartikel code beginnen typen ben en 1 maal omdat hij de cel leeg maakt. De cel zou echter wel leeg moeten... anders blijft er de letter instaan die ik getypt had...en dat oogt nu eenmaal niet echt mooi...en 2 maal moeten klikken is ook vrij dom natuurlijk
Hoe kan ik die tweede messagebox omzeilen?

Kan iemand me hier bij helpen?

Mijn excuses alvast om deze vraag terug te moeten plaatsen, maar ik krijg er niet uit wat ik wil (en de vorige vraag was nu net wel iets anders :-) )

Enorm bedankt voor de hulpgevenden!
 
Hallo,

Heb je al geprobeerd msgbox en orderartikelode.value om te drijen?
Misschien dat dat helpt.

Mvg,

Martin de Groot
 
Dag Martin,

Bedankt voor je reactie, maar dan gebeurd het zelfde... hij reageert volgens mij op die orderartikelcode_change....

had ook al volgende geprobeerd...
Code:
Private Sub orderartikelcode_Change()

    On Error Resume Next

    If orderklant.Value = "" Then
        orderartikelcode.Value = ""
        If orderartikelcode.Value = "" then 
        MsgBox "Gelieve klant in te vullen",VbOkOnly
        
    Else
        
    filterartikel2
maar dat geeft zelfde effect...

Het lijkt iets heel stoms maar ik vind er echt geen oplossing voor... waarschijnlijk ook door mijn vrij beperkte vba-kennis:(
 
Na de change veranderd er iets, waarna de code nog een keer loopt (change 2).
Zet bovenaan de code de event op false, en onderaan weer op true.
Code:
Private Sub orderartikelcode_Change()
 [COLOR="#FF0000"]application.enableevents = false[/COLOR]
    On Error Resume Next

    If orderklant.Value = "" Then
        orderartikelcode.Value = ""
        If orderartikelcode.Value = "" then 
        MsgBox "Gelieve klant in te vullen",VbOkOnly
        
    Else
        
    filterartikel2
[COLOR="#FF0000"]application.enableevents = true[/COLOR]
 
Gebruik het AfterUpdate-event ipv Change-event
 
Hallo Harry,

Moet nog steeds 2 x wegklikken...

Het afterUpdate gebruik lijkt mij vrij goed... probleem is natuurlijk dat je dan van box moet wisselen... maar lijkt mij wel het meest propere...

Bedankt alvast!!!!
 
Ik deed maar een gok na de 'Change' gezien te hebben, maar voor een beter resultaat (omwille het wisselen van box), zou je een bestandje kunnen uploaden.
 
Waarom niet de 2de Box verbergen en pas zichtbaar laten worden als de 1ste daadwerkelijk ingevuld is.
Je kan dan met het AfterUpdate-event v/d 1ste Box controleren of deze ingevuld is en dan de 2de zichtbaar maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan