Heren,
Ik heb een formulier gemaakt waarop je o.a. enige data moet invullen.
Zo heb ik o.a. de textbox " Besluit", waarin de datum van een besluit geplaatst moet worden. Alvorens de gegevens worden weggeschreven naar een tabblad wil ik eerst controleren of de ingevulde data aan bepaalde voorwaarden voldoen.
Hiervoor gebruik ik onderstaande code:
Als ik in de textbox "Besluit" nu b.v. de datum 20-10-10 invoer, dan krijg ik een melding conform bovenstaande code: "Dit besluit ligt in de toekomst!". Deze datum ligt echter niet in de toekomst.
Vul ik 15-10-10 in dan krijg ik geen melding (is dus goed). Hetzelfde gebeurt in de textbox "Ontvangst_bezwaarschrift".
Nu heb ik al het een en ander uitgeprobeerd met Format en Datevalue, maar het lukt me niet om het op te lossen.
Heeft dit te maken met Amerikaanse/Europese datumaanduiding misschien?
Wie weet raad?
Ik heb een formulier gemaakt waarop je o.a. enige data moet invullen.
Zo heb ik o.a. de textbox " Besluit", waarin de datum van een besluit geplaatst moet worden. Alvorens de gegevens worden weggeschreven naar een tabblad wil ik eerst controleren of de ingevulde data aan bepaalde voorwaarden voldoen.
Hiervoor gebruik ik onderstaande code:
Code:
If Registratienummer = "" Or Bezwaarmaker = "" Then
MsgBox "Niet alle verplichte velden zijn ingevuld!", vbCritical
Cancel = True
ElseIf Application.WorksheetFunction.CountIf(Worksheets("Data").Range("Registratienummers"), Registratienummer.Value) = 1 Then
MsgBox ("Dit registratienummer bestaat al!")
Cancel = True
ElseIf Besluit = "" And Ontvangst_bezwaarschrift <> "" Then
MsgBox "Er kan geen bezwaarschrift binnen komen op een besluit dat nog niet genomen is!", vbCritical
Cancel = True
ElseIf Format(Besluit, "dd-mm-yyyy") > Format(Date, "dd-mm-yyyy") Then
MsgBox "Dit besluit ligt in de toekomst!", vbCritical
Cancel = True
ElseIf Format(Ontvangst_bezwaarschrift, "dd-mm-yyyy") > Format(Date, "dd-mm-yyyy") Then
MsgBox "De ingevoerde ontvangstdatum van het bezwaarschrift ligt in de toekomst!.", vbCritical
Cancel = True
ElseIf Format(Ontvangst_bezwaarschrift, "dd-mm-yyyy") <> "" And Format(Besluit, "dd-mm-yyyy") > Format(Ontvangst_bezwaarschrift, "dd-mm-yyyy") Then
MsgBox "De ingevoerde ontvangstdatum van het bezwaarschrift ligt voor de besluitdatum!", vbCritical
Cancel = True
ElseIf Ontvangst_bezwaarschrift = "" And Aanvulling <> "" Then
MsgBox "Er is nog geen bezwaarschrift ontvangen!", vbCritical
Cancel = True
Else
Als ik in de textbox "Besluit" nu b.v. de datum 20-10-10 invoer, dan krijg ik een melding conform bovenstaande code: "Dit besluit ligt in de toekomst!". Deze datum ligt echter niet in de toekomst.
Vul ik 15-10-10 in dan krijg ik geen melding (is dus goed). Hetzelfde gebeurt in de textbox "Ontvangst_bezwaarschrift".
Nu heb ik al het een en ander uitgeprobeerd met Format en Datevalue, maar het lukt me niet om het op te lossen.
Heeft dit te maken met Amerikaanse/Europese datumaanduiding misschien?
Wie weet raad?