Ich glaube vor dem Problem, nur bestimmte Eingaben in
Textfeldern zu zulassen, stand wohl schon jeder und so gab es unter ("In Textfeldern
nur Zahleneingabe annehmen") schon einen ähnlich gelagerten Tipp.
Hier aber wird anders heran gegangen, so gibt es eine global definierte Funktion und bei
Aufruf dieser werden als Variable die gültigen Zeichen mit übergeben, so das man sehr
viele Textboxen mit sehr unterschiedlichen Eingaben definieren kann.
Die Funktion
°°°°°°°°°°°°°°°°°
Function ValiText (KeyIn As Integer, ValidateString As String, Editable As Integer) As
Integer
Dim ValidateList As String
Dim KeyOut As Integer If Editable = True Then
ValidateList = UCase(ValidateString) & Chr(8)
Else
ValidateList = UCase(ValidateString)
End If
If InStr(1, ValidateList, UCase(Chr(KeyIn)), 1) > 0
Then
KeyOut = KeyIn
Else
'ein ungültiges Zeichen wurde eingegeben
KeyOut = 0
Beep
End If
ValiText = KeyOut
End Function
Der Funktionsaufruf (in der KeyPress Aktion der jeweiligen Textbox)
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Keyascii = ValiText(Keyascii, "0123456789/-", True)
'Keyascii = das eingegebene Zeichen
'"0123456789/-" = alle gültigen Werte
''True = läßt Löschen mit Backspace zu
Mehr brauch es nicht dazu. |