Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB4, VB5, VB6 | 20.05.01 |
CheckDate - Prüfen auf Datum/Zeitangabe Die Funktion testet sowohl Date- als auch Double-Variablen auf eine gültige Datum/Zeitangabe. | ||
Autor: Helmut Suhren | Bewertung: | Views: 24.624 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die nachfolgende Funktion testet sowohl Variablen vom Typ Date als auch Double, ob es sich um eine gültige Datums- und/oder Zeitangabe handelt.
' Rückgabe-Konstanten Const NoDate = 0 Const DateIsNull = 1 Const DateIsDateOnly = 2 Const DateIsTimeOnly = 3 Const DateIsDateAndTime = 4 ' Prüfen auf korrekte Datum/Zeitangabe Public Function CheckDate(ByVal tDate As Double) As Long On Error GoTo NoDate If IsDate(CDate(tDate)) Then Select Case True Case Not CBool(tDate) CheckDate = DateIsNull Case CLng(tDate) = tDate CheckDate = DateIsDateOnly Case Not CBool(Fix(tDate)) CheckDate = DateIsTimeOnly Case Else CheckDate = DateIsDateAndTime End Select End If Exit Function NoDate: On Error GoTo 0 CheckDate = NoDate End Function
Und hier ein paar Beispiele:
Dim d As Date Dim dd As Double dd = -1234567.65 Debug.Print CheckDate(dd) ' NoDate d = 0 Debug.Print CheckDate(d) ' DateIsNull d = CDate("25.09.1998") Debug.Print CheckDate(d) ' DateIsDateOnly d = CDate("13:14:15") Debug.Print CheckDate(d) ' DateIsTimeOnly d = CDate(Now) Debug.Print CheckDate(d) ' DateIsDateAndTime