vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Datum/Zeit und Timer · Datums- und Zeitfunktionen   |   VB-Versionen: VB5, VB619.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 JacobBewertung:  Views:  16.249 
www.jacob-software-development.deSystem:  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
Hier ein Beispiel für den Aufruf, wobei die Datumeingabe in der Textbox "Text1" vorgenommen wurde:

If IsFmtDate(Text1.Text, "dd.mm.yyyy", True) Then
 MsgBox "OK"
End If



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.