Neuigkeiten:

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

Mobiles Hauptmenü

Wenn in einer bestimmten Spalte etwas steht, darf in anderer Spalte keine Eingab

Begonnen von MiDoMa, Februar 25, 2024, 17:43:39

⏪ vorheriges - nächstes ⏩

MiDoMa

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.

ebs17

In einem Datensatz sollten keine solchen Abhängigkeiten bestehen. Also überarbeite das Datenmodell.
Mit freundlichem Glück Auf!

Eberhard

andyfau

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
Viele Grüße
Andreas
Beste Grüße
Andreas

MiDoMa

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.

MzKlMu

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.
Gruß Klaus


MiDoMa

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.


MiDoMa

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

ebs17

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.
Mit freundlichem Glück Auf!

Eberhard

ebs17

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
Mit freundlichem Glück Auf!

Eberhard

MiDoMa

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

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

MzKlMu

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.
Gruß Klaus

ebs17

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).

Mit freundlichem Glück Auf!

Eberhard