Frage

Da_Ron

Grünschnabel
Ich habe das problem ich hab eine TextBox mit datums eingabe und will das der User nur das Datum Format TT.MM.JJJJ eingeben darf wie kann ich das umsetzen!

Ich bedank mich schon mal im vorraus
 
Hallo, versuch´s mal hiermit.
Hierbei braucht man keinen Punkt schreiben, der wird automatisch gesetzt.

In Form:
Code:
Private Sub Form_Load()
 Text1 = ""
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
 CheckDate Text1, KeyAscii
End Sub

Private Sub Text1_LostFocus()
If Not IsDate(Text1) Then
 MsgBox "Kein gültiges Datum, bitte korregieren Sie Ihre Eingabe !", 64, "Eingabefehler"
  Text1.SetFocus
  Text1.SelStart = 0
 Text1.SelLength = Len(Text1)
End If
End Sub
In Modul:
Code:
Public Sub CheckDate(Tbox As TextBox, KeyAscii As Integer)
 
      Tbox.MaxLength = 10 'Hierbei das Format TT.MM.JJJJ
 
      Select Case KeyAscii
         Case 48 To 57 ' Zahlentasten
            If Len(Tbox.Text) = 2 Then 'Setzt einen Punkt nach den ersten beiden Zahlen
               Tbox.Text = Tbox.Text & "."
               Tbox.SelStart = Len(Tbox.Text) + 2
            End If
        
            If Len(Tbox.Text) = 5 Then 'Setzt einen Punkt nach den ersten 4 Zahlen
               Tbox.Text = Tbox.Text & "."
               Tbox.SelStart = Len(Tbox.Text) + 2
            End If
         Case 8 'Backspace
            'Anweisung
         Case Else 'alle weiteren Tasten
            'Debug.Print KeyAscii
            KeyAscii = 0
      End Select
End Sub
 

Neue Beiträge

Zurück