Hallo!
Ich habe eine Tabelle mit den Feldern: Teilnehmer-ID (Primärschlüssel), Nachname, Geburtsdatum, Kontonummer, Zahlungsart.
Im Feld "Zahlungsart" soll eine Gültigkeitsregel erstellt werden, sodass nur Lastschrift, Überweisung oder Bar eingegeben werden kann.
Hier lautet meine Gültigkeitsregel: "Lastschrift" oder "Überweisung" oder "Bar"
Als nächstes soll ich eine Gültigkeitsregel erstellen, dass bei Lastschriftzahlung eine Kontonummer angegeben werden muss. Bei Barzahlung oder Überweisung soll das Feld [Kontonummer] leer sein.
Leider verzweifle ich mit dieser Gültigkeitsregel. Könnte mir jemand einen Tipp geben, wie die Regel lauten und in welches Feld dieses eingetragen werden muss.
Vielen Dank! :)
Hallo,
meiner Meinung kriegst Du das mit einer Gültigkeitregel auf Tabelleneben nicht hin. Das sind solch detailierte Regeln, das sollte über eine Validierung des Formulars geregelt werden. Gültigkeitsregeln sind sowieso nicht das Gelbe vom Ei.
Im Falle der Zahlungsarten würde ich auch darauf verzichten und für die Zahlungsarten eine extra Tabelle anlegen. In der jetzigen Tabelle dann nur einen Fremdschlüssel für die Zahlungsarten speichern.
In einem Formular erfolgt die Auswahl der Zahlungsart über ein Kombi, das nur dies 3 Auswahlen zulässt.
Bei Auswahl der Zahlungsarten Barzahlung oder Überweisung kannst Du das Feld Kontonummer ausblenden, sodass da gar nichts eingegeben werden kann.
Das geschilderte Problem lässt sich sauber und einfach über das Datenmodell und den Formularaufbau regeln, ohne Gültigkeitregeln, die oft sowieso unbrauchbare und kryptische Fehlermeldungen ausgeben, die man mit VBA Aufwand anpassen muss/sollte.
Vielen Dank für die schnelle Antwort!
Allerdings muss ich das über eine Gültigkeitsregel formulieren, da ich eine fest vorgeschriebene Aufgabe habe, die ich später zur Korrektur abgeben muss.
Hat vielleicht jemand anderes eine Lösung für mein Problem!
Danke :)
Hallo,
sorry, aber ich mache keine Hausaufgaben.
Hallo,
und m. W. ist eine Gültigkeitsprüfung auf Tabellenebene (SQL-CHECK) nur auf die akt. Spalte und ohne Referenz auf eine andere möglich, was hier:
bei Lastschriftzahlung eine Kontonummer angegeben werden muss
erforderlich wäre..
Meint ihr, dass evt. diese Gültigkeitsregel klappen wird?
[Zahlungsart]="Lastschrift" und [Kontonummer] ist nicht null oder (([Zahlungsart]="Bar" oder "Überweisung") und [Kontonummer] ist null)
Hallo,
warum fragst Du nicht Access .... ;)
Klappt leider nicht. Wenn ich Lastschrift angebe, dann kommt leide keine Gültigkeitsregel!
Ich habe es beim Eigenschaftenblatt eingegeben. Hat jemand noch einen Tipp?
Hallo,
versuch , den Ausdruck in der Tabellen-Gültigkeitsregel (Tabelleneigenschaften) unterzubringen, nicht in der Feld-Gültigkeitsregel
Hallo,
danke für den Hinweis, allerdings weiß ich nicht, wo ich dies eintragen muss. (Ich bin der absolute Anfänger bei MS Access)
Wenn ich die Tabelle öffne und dann auf Eigenschaften gehe, kann ich nur sortieren, eine Beschreibung eingeben oder filtern.
Gruß
Hallo Knabberkeks,
- Tabelle in der
Entwurfsansicht öffnen
- Feld auswählen
- unten links kannst Du dann versuchen Deine Gültigkeitsregel einzugeben.
Zitat... oder (([Zahlungsart]="Bar" oder "Überweisung") und ...)
muss aber zu
... oder (([Zahlungsart]="Bar" oder [Zahlungsart]="Überweisung") und ...)
geändert werden.
hth
gruss ekkehard
Hallo,
nein , nicht in den FELDeigenschaften, in den TABELLENeigenschaften muss das eingetragen werden. Dort gibt es auch eine "Gültigkeitsregel"-Eigenschaft, die dann für einen ganzen Datensatz gilt und nicht nur für ein Feld...
Irgendwo im Tabellenentwurf Rechtsklick und im Kontextmenü" Eigenschaften" anklicken
Hallo Franz,
Zitatnein , nicht in den FELDeigenschaften, in den TABELLENeigenschaften muss das eingetragen werden.
Man lernt nie aus; - ist mir noch nie aufgefallen. Muss aber auch sagen, das ich das Eigenschaftenfenster bei Tabellen nie geöffnet habe.
ZitatDort gibt es auch eine "Gültigkeitsregel"-Eigenschaft, die dann für einen ganzen Datensatz gilt und nicht nur für ein Feld...
Müsste da dann nicht auch eine Regel über mehrere Felder möglich sein?
gruss ekkehard
Hallo,
ja, wenn man es so ausdrückt:
Dort können auch Referenzen auf mehrere unterschiedliche Felder benutzt werden.
Vielen herzlichen Dank an alle!
Der Tipp mit der Tabelleneigenschaft und mit der Veränderung der Gültigkeitsregel waren suuuuuper!
Das Problem ist damit gelöst. Die Gültigkeitsmeldung erscheint nun.
Nochmals ein großes Dankeschön! :D
Einen schönen Abend noch!