Mai 17, 2021, 15:51:42

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Gültigkeitsregel

Begonnen von Majawillswissen, Februar 10, 2021, 18:53:31

⏪ vorheriges - nächstes ⏩

Majawillswissen

Hallo ihr Lieben,

vermutlich gar nicht so schwer, aber ich stehe aktuell auf dem Schlauch  :-\
Ich suche die Gültigkeitsregel für folgenden Fall:
"Sorgen Sie dafür, dass Feld X eingetragen werden muss, wenn die Feld Y=1 erfolgt, und dass bei Y=2 oder Y=3 das Feld X leer bleiben muss."

Habe es versucht mit:
[Feld Y]=1 Und [Feld X] Ist Nicht Null Oder [Feld Y]=2 Und [Feld X] Ist Null Oder [Feld Y]=3 Und [Feld X] Ist Null

Bin für jede Antwort dankbar!

PhilS

Dein Ansatz sieht gar nicht so schlecht aus.
Du solltest noch die verschiedenen Teile der Regel mit Klammern zusammenzufassen. Das ist auf jeden Fall besser lesbar, auch wenn es in diesem Fall technisch wahrscheinlich keinen Unterschied macht.

Hast du die Regel auch auf Ebene der Tabelle eingetragen? Siehe: Gültigkeitsregeln in Microsoft Access Tabellen
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

Majawillswissen

Zitat von: PhilS am Februar 10, 2021, 19:59:55Dein Ansatz sieht gar nicht so schlecht aus.
Du solltest noch die verschiedenen Teile der Regel mit Klammern zusammenzufassen. Das ist auf jeden Fall besser lesbar, auch wenn es in diesem Fall technisch wahrscheinlich keinen Unterschied macht.

Hast du die Regel auch auf Ebene der Tabelle eingetragen? Siehe: Gültigkeitsregeln in Microsoft Access Tabellen

Danke dir! Ja habe es auf Ebene der Tabelle gemacht, aber leider kommt die Gültigkeitsmeldung nicht passend.. ich komm leider nicht dahinter, was falsch ist..

PhilS

Zitat von: Majawillswissen am Februar 10, 2021, 20:05:22[....], aber leider kommt die Gültigkeitsmeldung nicht passend..
Was genau ist das Problem?
Die Regel funktioniert, so wie sie ist.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

Majawillswissen

Zitat von: PhilS am Februar 10, 2021, 20:18:57
Zitat von: Majawillswissen am Februar 10, 2021, 20:05:22[....], aber leider kommt die Gültigkeitsmeldung nicht passend..
Was genau ist das Problem?
Die Regel funktioniert, so wie sie ist.

Mir wird die Gültigkeitsmeldung auch angezeigt, wenn die Regel eingehalten wird.
Also wenn z.B. [Feld Y]=1 Und [Feld X] Ist Nicht Null.. egal welche Kombination ich eingebe, ich bekomme immer die Meldung und kann das Formular nicht ausfüllen.

andyfau

Hi,
kann es sein, dass "Is Null" hier auf Felder des Typs Zahl bezogen wird? IsNull ist nicht gleich "" und auch nicht gleich 0, sondern der leere Zustand eines Strings nach der Dimensionierung.

MzKlMu

Februar 12, 2021, 23:56:07 #6 Letzte Bearbeitung: Februar 13, 2021, 10:35:11 von MzKlMu
Hallo,
sondern der leere Zustand eines Strings nach der Dimensionierung.Der Zustand eines Strings nach Dim ist "" und nicht NULL. Der Zustand eines Varaiants ist LEER (was nicht NULL ist). Nur dem Datentyp Variant lässt sich NULL per VBA zuweisen.

Im Regelfall sind nur leere Tabellenfelder NULL unabhängig vom Datentyp. Daher kann "Is [Not] Null" auch auf Zahlenfelder in Formularen angewendet werden.
Gruß
Klaus

andyfau

Hallo Klaus,
danke für die Korrektur.
Mein Vorschlag: Im VBA Modul immer Option Explicit und Variablen vom Typ Variant meiden.  :)