PDA

Vollständige Version anzeigen : Sonderzeichenprüfung


Frank123
22.09.2001, 06:38
Hallo zusammen,

Gibt es eine Möglichkeit, zum Prüfen eines eingegebenen Textes in in Textfeld, ob unerlaubte Zeieichen in der Eingabe sind.
Es darf z.B. kein " wie 12" oder . wie Boney M. usw. stehen.


Die Zeichen die nicht erlaubt sind würde ich in einer Tabelle halten.

Hat das jemand schoneinmal programiert?

Frank

WalterS
22.09.2001, 08:53
Hallo Frank!
So etwas löst man am besten so
angenommen dein Feld ist EingabeText und deine Tabelle mit den unerlaubten Zeichen ist Negativ (mit Feld PFUI) dann lautet die Funktion so

if isnull (dLookup("PFUI","Negativ","'"& me!eingabetext & "' like '*' & pfui &'*' ") then
msgbox "brav"
else
msgbox "so eine Schweinerei"

endif

Goki
23.09.2001, 12:48
Hallo Frank :-))

Das Problem hatte ich mal in einer Datenbank, bei welcher man username und paßwort eingeben muß um weiterzukommen.

Einige schlaue Kollegen haben Wildcards ?,* benutzt und sind jedesmal problemlos durchgekommen. Das mußte ich abschalten.

Den nachfolgenden code habe ich dazu verwendet. VBA prüft ob ein ? oder * in den Feldern enthalten ist. Sofern ja, zeigt er einen Error an und bricht die Verarbeitung ab.

' Wurden Wildcards verwendet?
Dim vn As Byte, nn As Byte, un As Byte, up As Byte
Dim vn1 As Byte, nn1 As Byte, un1 As Byte, up1 As Byte

vn = InStr(1, VName, "*", vbTextCompare)
vn1 = InStr(1, VName, "?", vbTextCompare)

nn = InStr(1, NName, "*", vbTextCompare)
nn1 = InStr(1, NName, "?", vbTextCompare)

un = InStr(1, UserName, "*", vbTextCompare)
un1 = InStr(1, UserName, "?", vbTextCompare)

up = InStr(1, UserPWD, "*", vbTextCompare)
up1 = InStr(1, UserPWD, "?", vbTextCompare)

If vn <> 0 Or vn1 <> 0 Or nn <> 0 Or nn1 <> 0 Or un <> 0 Or un1 <> 0 Or up <> 0 Or up1 <> 0 Then
DoCmd.OpenForm "MitarbeiterAEND_sub_ERR"
GoTo ende
End If

Ich hoff es hilft dir ein wenig.

slg
Goki