Beste helpers,
Ik wordt zo langzamerhand licht agressief dus het is hoog tijd jullie hulp er bij te roepen, ik ben namelijk bang dat ik iets over het hoofd zie.
Ik ben bezig met het opstellen van een programma om eenvoudig tot een planning te komen en heb binnen het programma een validatiemoment nodig wat nagaat of het Ordernummer en het zogeheten Bonnummer al eens zijn ingevoerd. Dit heb ik als volgt vormgegeven:
Een Order wordt ingevoerd via het formulier Bon Invoeren:
Wanneer het Order en Bonnummer worden ingevoerd (beiden Geel gearceerd) voeg ik in de eerste kolom van de tabel (onder de grijze rechthoek shape) de cijfercombinatie in die zichtbaar is in de formulebalk.
Dit is de unieke cijfercombinatie die ik later wil controleren wanneer een nieuwe Order wordt ingevoerd.
Wanneer er vervolgens een nieuwe Order wordt ingevoerd heb ik het volgende validatie script geschreven voor de TextBox Bonnummer After Update:
[WijzigKnoppen] is de lijst die verwijst naar de 1e kolom van de tabel "Orderdata". Ik heb al eerder problemen gehad met de .Find functie van excel, zie: https://www.helpmij.nl/forum/showth...list-object)-geeft-fout-91-tijdens-uitvoering. Dus heb ik deze keer verschillende varianten als String, Long en Double op allerlei manieren getest maar steeds zonder resultaat. Ik blijf terugkrijgen dat de combinatie uniek is ook als dat niet het geval is.
Mijn vraag, wat doe ik verkeerd?? Ik wil simpelweg dat het er een melding zichtbaar wordt als de combinatie van Order en Bon nummer al in de tabel is toegevoegd Gezien het feit dat de combinatie soms een slinger van 12 getallen of meer kan vormen is het in mijn ogen noodzakelijk de variant Double te gebruiken? Of is dit anders in te vullen?
Alvast bedankt voor jullie hulp, het bestand is toegevoegd als bijlage. Dit is mijn eerste project in VBA dus ik waarschuw alvast voor het geval de code niet helemaal logisch is opgebouwd.
Groeten,
Rick
Ik wordt zo langzamerhand licht agressief dus het is hoog tijd jullie hulp er bij te roepen, ik ben namelijk bang dat ik iets over het hoofd zie.
Ik ben bezig met het opstellen van een programma om eenvoudig tot een planning te komen en heb binnen het programma een validatiemoment nodig wat nagaat of het Ordernummer en het zogeheten Bonnummer al eens zijn ingevoerd. Dit heb ik als volgt vormgegeven:
Een Order wordt ingevoerd via het formulier Bon Invoeren:
Wanneer het Order en Bonnummer worden ingevoerd (beiden Geel gearceerd) voeg ik in de eerste kolom van de tabel (onder de grijze rechthoek shape) de cijfercombinatie in die zichtbaar is in de formulebalk.
Code:
'Toevoegen van uniek Order en Bon nummer
TabelregelOD.Range(1, 1) = CBOrdernummer.Value & TBBonnummer.Value
Dit is de unieke cijfercombinatie die ik later wil controleren wanneer een nieuwe Order wordt ingevoerd.
Wanneer er vervolgens een nieuwe Order wordt ingevoerd heb ik het volgende validatie script geschreven voor de TextBox Bonnummer After Update:
Code:
Private Sub TBBonnummer_AfterUpdate()
'Controleren of order en bonnummer bestaat
Dim OrdernummerMatch As Range
Dim Zoekterm As Double
Zoekterm = CBOrdernummer.Value & TBBonnummer.Value
Set OrdernummerMatch = [WijzigKnoppen].Find(What:=CDbl(Zoekterm), LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If OrdernummerMatch Is Nothing Then
MsgBox ("Order en Bon nummer zijn uniek")
Else
MsgBox ("Combinatie bestaat al")
End If
End Sub
[WijzigKnoppen] is de lijst die verwijst naar de 1e kolom van de tabel "Orderdata". Ik heb al eerder problemen gehad met de .Find functie van excel, zie: https://www.helpmij.nl/forum/showth...list-object)-geeft-fout-91-tijdens-uitvoering. Dus heb ik deze keer verschillende varianten als String, Long en Double op allerlei manieren getest maar steeds zonder resultaat. Ik blijf terugkrijgen dat de combinatie uniek is ook als dat niet het geval is.
Mijn vraag, wat doe ik verkeerd?? Ik wil simpelweg dat het er een melding zichtbaar wordt als de combinatie van Order en Bon nummer al in de tabel is toegevoegd Gezien het feit dat de combinatie soms een slinger van 12 getallen of meer kan vormen is het in mijn ogen noodzakelijk de variant Double te gebruiken? Of is dit anders in te vullen?
Alvast bedankt voor jullie hulp, het bestand is toegevoegd als bijlage. Dit is mijn eerste project in VBA dus ik waarschuw alvast voor het geval de code niet helemaal logisch is opgebouwd.
Groeten,
Rick