Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: MiDoMa am Februar 25, 2024, 17:43:39

Titel: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MiDoMa am Februar 25, 2024, 17:43:39
Hallo Zusammen,

ich habe folgende Frage und würde mich über Hilfe freuen.

Ich habe Access 2021

Wenn in der Spalte "BD" etwas steht, darf in den Spalten "BDT" und "BDN" keine Eingabe erfolgen.
Umgekehrt ebenfalls, also wenn in "BDT" und/oder "BDN" etwas steht, darf nichts in "BD" eingegeben werden können.

Es wäre klasse, wenn mir jemand helfen kann.
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: ebs17 am Februar 25, 2024, 18:47:52
In einem Datensatz sollten keine solchen Abhängigkeiten bestehen. Also überarbeite das Datenmodell.
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: andyfau am Februar 25, 2024, 18:52:54
Hallo,
der Begriff Spalte ist, wenn es um Access geht nicht gut. Denn es handelt sich nicht um eine Tabellenkalkulation wie Excel, wo man von Zeilen und Spalten spricht. Sondern es geht um Datensätze bestehend aus Feldern. Diese sind, meistens mit einem Primärschlüssel, in Tabellen gespeichert.
Die Auswahl von Daten, bzw, Datensätzen erfolgt in der Regel über Abfragen, die dann wiederum Grundlage von Formularen sind. Die Datenpflege sollte über Formulare erfolgen. Daraus folgt, dass die Prüfung der Daten bei der Erfassung im Formular erfolgt. Und da sind Feldprüfungen kein Problem.
Um das Prinzip grundsätzlich zu verstehen gibt es prima Tutorials.
Z.B.: https://www.access-tutorial.de (https://www.access-tutorial.de/)
Viele Grüße
Andreas
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MiDoMa am Februar 25, 2024, 20:22:06
Danke schon mal für die Infos.

Vielleicht habe ich es falsch beschrieben...

Ich erstelle einen Dienstplan. Mein Ziel ist, über ein Formular die aktuelle Einteilung einzutragen.

Wenn nun eine Position, hier BD besetzt ist, darf nichts in die Positionen BDN (Kürzel für Nachtdienst) und BDT (Kürzel für Tagdienst) eingetragen werden.
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MzKlMu am Februar 25, 2024, 23:47:31
Hallo,
das ist falsch, so wie Dus vorhast. Für die Dienstart braucht es keine 3 Felder sondern nur eins.
Erkläre aber erst mal was das Kürzel BD bedeutet.

BDN = Nacht
BDT = Tag
BD ?


Damit man Dir helfen kann, wäre eine etwas ausführlichere Beschreibung sinnvoll. Es kann Dir ja niemand über die Schulter schauen.
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MiDoMa am Februar 26, 2024, 05:42:04
BD ist 24 Stunden Dienst
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MiDoMa am Februar 26, 2024, 05:58:17
Also es soll ein Dienstplan sein. Dazu gibt es zehn Funktionen, diese entweder 24 Stunden oder jeweils 12 Stunden Tag oder Nacht.

Wenn eine Funktion durch jemanden 24 Stunden besetzt ist, kann natürlich niemand eine der zwölf Stunden besetzen.

Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MiDoMa am Februar 26, 2024, 06:07:21
Meine Tabelle dazu hat alle möglichen Dienstarten drin und darin werden dann die Namen eingetragen, welche die entsprechenden Positionen besetzen.

Wenn ich dann eine Abfrage für den bestimmten Tag mache, wirft er mir den Plan für den Tag aus.

Das klappt auch soweit, nur können halt die Felder beschrieben werden, die dann eben nicht ausgefüllt werden sollten.

Gruß
Midoma
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: ebs17 am Februar 26, 2024, 07:53:43
ZitatWenn ich dann eine Abfrage für den bestimmten Tag mache, wirft er mir den Plan für den Tag aus.

Das klappt auch soweit, nur können halt die Felder beschrieben werden
Man kann die Ansicht eines Abfrageergebnisses auf Uneditierbarkeit schalten, in einem Formular ganz leicht über die Eigenschaften.
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: ebs17 am Februar 26, 2024, 09:58:42
ZitatWenn eine Funktion durch jemanden 24 Stunden besetzt ist, kann natürlich niemand eine der zwölf Stunden besetzen.
Nicht statthafte Doppelbelegungen, egal ob Funktion oder Person im gleichen Zeitraum, muss man bereits bei der Datenerfassung abblocken. Das wäre mit richtiger Datenmodellierung ein Fall für Zeitraumüberschneidungen.
Grundlagen - SQL ist leicht (20) - Zeitraumüberschneidungen (https://www.ms-office-forum.net/forum/showthread.php?t=379192)
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MiDoMa am Februar 26, 2024, 17:37:15
Zitat von: ebs17 am Februar 26, 2024, 09:58:42
ZitatWenn eine Funktion durch jemanden 24 Stunden besetzt ist, kann natürlich niemand eine der zwölf Stunden besetzen.
Nicht statthafte Doppelbelegungen, egal ob Funktion oder Person im gleichen Zeitraum, muss man bereits bei der Datenerfassung abblocken. Das wäre mit richtiger Datenmodellierung ein Fall für Zeitraumüberschneidungen.
Grundlagen - SQL ist leicht (20) - Zeitraumüberschneidungen (https://www.ms-office-forum.net/forum/showthread.php?t=379192)

Okay, Dankeschön. Dachte es wäre einfacher, so in der Art wenn in Feld xy Daten, dann in Feld yz und ya keine Eingabe zulassen.

Ich lese mich mal rein

Gruß midoma
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: MzKlMu am Februar 26, 2024, 18:02:38
Hallo,
wenn ich das recht verstehe, geht es hier gar nicht um Zeitraumüberschreitungen, sondern um die Auswahl einer Dienstart mit der Vorgabe dass nur eine Dienstart wählbar ist.
Wenn das richtig ist, dann wäre das eine Aufgabe für eine Optionsgruppe. Diese benötigt nur ein Tabellenfald das mit einer Zahl gefüllt wird.
1=BD
2=BDN
3=BDT

Im Formular kann mit einer Optiongruppe immer nur eine Zahl gewählt werden. Der Text der zur Zahl gehört kann in der Optionsgruppe angezeigt werden.
Titel: Re: Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab
Beitrag von: ebs17 am Februar 26, 2024, 18:24:36
Zitatgeht es hier gar nicht um Zeitraumüberschreitungen
Das mag in der derzeitigen Überlegung der Fall sein. Ein 12-Stunden-Dienst und ein 24-Stunden-Dienst sind aber nicht beliebig austauschbar (in Unkenntnis wirklicher Zeitgrenzen).