07. september 2001 - 21:28Der er
4 kommentarer og 1 løsning
Tjekke på dato
Hvordan kan jeg tjekke om en indtastet dato er gyldig
jeg har prøvet med:
If Not IsDate(CDate(mskSidsteBesøg)) Then MsgBox \"Den angivne dato er ikke gyldig!\", vbInformation, \"Ugyldig dato.\" mskSidsteBesøg.SetFocus Exit Sub End If
...hvilket ikke virker hvis jeg indtaster f.eks. den ugyldige (danske) dato 10-14-2001 (forstået som d. 10. i 14. 2001). VB fortolker den bare som den 14. i 10. 2001.
Jeg tror du skal lave din egen lille kontrol af at dato er korrekt, hvis det skal følge dansk format. Det kunne fx være noget i denne stil:
Private Sub Text1_LostFocus() Tal = Text1.Text ups = 0 start = InStr(1, Tal, \".\", 1) If start > 1 Then ups = InStr(start + 1, Tal, \".\", 1) If ups - start = 1 Or ups = Len(Tal) Then ups = 0 End If End If If ups = 0 Then GoTo fejl End If On Error GoTo fejl CheckDato = Day(Tal) & \".\" & Month(Tal) & \".\" & Year(Tal) Exit Sub fejl: MsgBox (\"Der er fejl i datoangivelsen. Angiv dag, måned og år: f.eks 01.07.2000\") CheckDato = \"\" Text1.Text = CheckDato
End Sub
Jeg har brugt punktum som skilletegn istedet for bindestreg
Private Sub Text1_LostFocus() dato = Text1.Text If Not IsDate(dato) Then MsgBox \"Den angivne dato er ikke gyldig!\", vbInformation, \"Ugyldig dato.\" Text1.SetFocus Exit Sub End If \' dato = Day(dato) & \"-\" & Month(dato) & \"-\" & Year(dato) Text1.Text = dato End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.