Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: BotschafterSarek am November 27, 2016, 15:47:01

Titel: Gültigkeitsregel
Beitrag von: BotschafterSarek am November 27, 2016, 15:47:01
Hallo zusammen,

ich habe in meinem Formular ein Feld "Kurzwahlnummer" und möchte, dass dieses entweder leer sein oder Werte von 8001 bis 8999 annehmen kann.

Die Gültigkeitsregel:
= (Wert([Kurzwahlnummer])>8000 Und Wert([Kurzwahlnummer])<9000)
schließt schon mal falsche Werte aus, aber dann kann das Feld leider auch nicht leer bleiben. Wenn die die Regel ergänze:
=IstLeer([Kurzwahlnummer]) Oder (Wert([Kurzwahlnummer])>8000 Und Wert([Kurzwahlnummer])<9000)

dann bekomme ich die Meldung:
Die Gültigkeitsregel-Eigenschaft (ValidationRule) des Formularsteuerelements enthält eine(n) 'Datentypen stimmen nicht überein'.

Wie muss meine Regel lauten?
Titel: Re: Gültigkeitsregel
Beitrag von: MzKlMu am November 27, 2016, 16:07:12
Hallo,
als Regel reicht:
Zitat>8000 Und <9000
Ein leeres Feld (NULL) wird auch mit dieser Regel akzeptiert.
Titel: Re: Gültigkeitsregel
Beitrag von: BotschafterSarek am November 27, 2016, 16:13:28
Zitat von: MzKlMu am November 27, 2016, 16:07:12
Da Du ohnehin auf eine Zahl prüfst nehme ich an, dass der Datentyp Zahl ist. Eine Prüfung auf Leer brauchst Du auch nicht, ein leeres Feld (NULL) wird auch mit der Gültigkeitsregel akzeptiert.

Nein, der Datentyp ist Text, ich brauche das so für die Weiterverarbeitung. Und ein leeres Feld wird solange akzeptiert, wie es nicht schon mal gefüllt war. Wenn da schon mal ein Wert drin stand, und ich den rauslösche, dann wird das bei Verwendung der Regel
= (Wert([Kurzwahlnummer])>8000 Und Wert([Kurzwahlnummer])<9000)
nicht erlaubt.
Titel: Re: Gültigkeitsregel
Beitrag von: MzKlMu am November 27, 2016, 16:19:27
Hallo,
dann so:
>8000 Und <9000 Oder Ist Null
Das funktioniert auch mit dem Datentyp Text.
Wert und den Namen des Feldes brauchst Du nicht. Du prüfst ja in dem Feld.

Wieso ist das Datentyp Text wenn Du auf Zahl prüfst.
Titel: Re: Gültigkeitsregel
Beitrag von: Lachtaube am November 27, 2016, 18:20:58
Der Datentyp ist schon Ok. Die Regel sollte dann angepasst an ein Textfeld >"8000" Und <"9000"oderZwischen "8001" Und "8999"lauten.
Titel: Re: Gültigkeitsregel
Beitrag von: MzKlMu am November 27, 2016, 18:37:24
Hallo,
ich habe das getestet. Die Regel aus #3 funktioniert so, mit Datentyp Text und Zahl.

Ich habe mich halt nur gefragt, warum man Text nimmt, wenn man Zahl braucht.
Titel: Re: Gültigkeitsregel
Beitrag von: Lachtaube am November 27, 2016, 19:15:02
Auch wenn die Güötigkeitsregel ohne die (") funktioniert, würde ich es aus Stilgründen nicht weiterpropagieren. Vielleicht ändert sich das Verhalten ja auch einmal in neueren Access-Versionen.