VB6: Validierung Datum mit einem bestimmten format
Ich gebaut habe ein Formular mit Hilfe von Visual Basic 6. Alles geht gut, die form fügt die Daten in meine Datenbank und keine Probleme hier.
Nun muss ich überprüfen Sie das Datum Feld, ich brauche die Daten eingegeben haben dieses format: dd/mm/yyyy
Mache ich:
Private Sub txtMyText_Validate(Index As Integer, Cancel As Boolean)
If IsDate(Format$(txtMyText(9).Text, "dd/mm/yyyy")) Or txtMyText(9).Text = "" Then
txtMyText(9).SetFocus
Else
txtMyText(9).SetFocus
MsgBox "Please enter a valid date with this format: dd/mm/yyyy."
End If
End Sub
Aber dieser code funktioniert nicht. Wenn ich ein Datum mit dem format dd/mm/yy die Strömung folgt vor, um die einfügen-Funktion und ich bekomme eine Fehlermeldung es Ursache es ist kein dd/mm/yyyy.
Können Sie mir bitte helfen, diesen code beheben?
Vielen Dank!
Es wäre eine gute Idee zu einen bestimmten Datum-Steuerelement, z.B. DateTimePicker -, Datums-Eingabe anstelle von text Steuern. DateTimePicker hat eine Value-Eigenschaft ist vom Typ Datum.
Der code, den Sie fehlgeschlagen ist, versuchen, zu konvertieren das eingegebene Datum, "dd/mm/yyyy" - format und dann überprüft ob es ein Datum. Die beste Methode ist die Verwendung eine Datumsauswahl erlauben oder Freiform und überprüfung mit
Ich würde echo der beiden oben genannten Kommentare - wie wissen Sie, welches format der Benutzer den Termin eingetragen? Der einzige Weg, um sicher zu sein, ist so etwas wie ein datetimepicker-Steuerelement
wenn der Benutzer "02/05/2013" dann kann man nie wissen, ob er bedeutete den 2. Mai, 5. Februar .. auch sicher sein, überprüfen Sie die regionalen Einstellungen des Systems
Der code, den Sie fehlgeschlagen ist, versuchen, zu konvertieren das eingegebene Datum, "dd/mm/yyyy" - format und dann überprüft ob es ein Datum. Die beste Methode ist die Verwendung eine Datumsauswahl erlauben oder Freiform und überprüfung mit
IsDate()
und CDate()
.Ich würde echo der beiden oben genannten Kommentare - wie wissen Sie, welches format der Benutzer den Termin eingetragen? Der einzige Weg, um sicher zu sein, ist so etwas wie ein datetimepicker-Steuerelement
wenn der Benutzer "02/05/2013" dann kann man nie wissen, ob er bedeutete den 2. Mai, 5. Februar .. auch sicher sein, überprüfen Sie die regionalen Einstellungen des Systems
InformationsquelleAutor user523129 | 2013-01-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie diese in Ihrem einfügen in die Datenbank Zeile für das Datum-Feld:
Löst Termine eingetragen als dd/mm/yy oder yyyy/mm/dd
Und um zu verhindern, dass aus der Eingabe von Ganzzahlen oder Zeichenketten statt Termine:
"dd/mm/yyyy"
aber es wird nicht immer wissen, ob"01/10/2013"
ist 10. Januar oder am 1. Oktober. Nicht, damit der Benutzer diese Art von Fehler. Verwenden Sie eineDateTimePicker
Kontrolle, wie vorgeschlagen in einer anderen Antwort.InformationsquelleAutor user523129