Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen | VB-Versionen: VB5, VB6 | 19.11.02 |
Prüfung von Datum und dessen Format Eine Funktion mit der sich prüfen lässt, ob eine Datumseingabe einem vorgegebenen Format entspricht. | ||
Autor: Marcus Jacob | Bewertung: | Views: 16.249 |
www.jacob-software-development.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sie suchen nach einer Möglichkeit die Datumeingabe des Anwenders zu überprüfen?
Kein Problem werden Sie sagen, da gibt es ja die IsDate()-Funktion. Aber wie sieht es mit dem Datumformat aus?
Hierzu werden wir die IsDate()-Funktion durch eine eigene Funktion erweitern.
Aber nun der Reihe nach...
Kopieren Sie nachfolgende Funktion in ein Modul oder eine Form.
' Überprüfung ob Datum einem bestimmten ' Format entspricht Public Function IsFmtDate(ByVal sDate As String, _ ByVal sFmt As String, _ Optional bMessage As Boolean = False) As Boolean Dim sMsg1 As String Dim sMsg2 As String sMsg1 = "Datum entspricht nicht dem Format '" & sFmt & "'." sMsg2 = "Es liegt kein gültiges Datum vor." ' Gültigkeitsprüfung IsFmtDate = False If IsDate(sDate) = True Then ' Formatprüfung IsFmtDate = (sDate = Format(sDate, sFmt)) If bMessage = True And isFmtDate = False Then ' MsgBox anzeigen MsgBox sMsg1, vbOKOnly + vbExclamation, "Datumsformat" End If Else If bMessage = True Then ' MsgBox anzeigen MsgBox sMsg2, vbOKOnly + vbExclamation, "Datumsformat" End If End If End Function
Nun können Sie die Funktion in Ihrem Quellcode aufrufen.
Als Parameter werden folgende Angaben erwartet:
- sDate: das zu überprüfende Datum in Form eines Strings
- sFmt: das gewünschte bzw. erforderliche Format in Form eines Strings
- bMessage: über diesen optionalen Parameter können Sie angeben, ob im Falle einer Fehleingabe eine Messagebox eingeblendet werden soll
If IsFmtDate(Text1.Text, "dd.mm.yyyy", True) Then MsgBox "OK" End If