Mal eine Frage:
Eine Abfrage habe die Felder A B und C. Alle drei Felder können Werte aus ein und der selben Hilfstabelle enthalten, z.B. "1" bis "20".
In ID=1 sei in [A] der Wert 10 gewählt. Gibt es einen einfachen Weg zu verhindern, dass in den übrigen Feldern B und C ebenfalls dieser Wert gewählt wird?
Carl
Hallo,
Zitat[A], und [C]. Alle drei Felder
A und C sind bei Dir 3 Felder ?
Solche Vorhaben sind fast immer ein Hinweis auf ein falsches Datenmodell. Wenn die Werte für die 3 Felder (wenn es drei sind) aus der gleichen Tabelle kommen, so ist das in eine extra Tabelle auszulagern, je Wert ein Datensatz. Dann wäre Dein Vorhaben völlig problemlos umzusetzen, indem man auf die dann vorhandenen 2 Fremdschlüsselfelder einen eindeutigen zusammengesetzten Index anlegt.
Was sind das für Werte die da eingetragen werden und wie heißen die 3 Felder die Du jetzt hast.
Theoretisch ja - praktisch kaum. Selbst wenn keine Null-Werte erlaubt wären, müssten die 20 Felder durch kombinatorik in einer Gültigkeitsregel gegeneinander abgesichert werden. Mal nur für 4 Felder:
[A] <> [B] AND [A] <> [C] AND [A] <> [D] AND [B] <> [C] AND [B] <> [D] AND [C] <> [D]
Bei einem ordentlichen Datenmodell würde hingegen ein eindeutiger Mehrfachindex das Vorhaben realisieren - aber das steht ja anscheinend nicht zur Debatte. ;D
ZitatWas sind das für Werte die da eingetragen werden und wie heißen die 3 Felder die Du jetzt hast.
Die Felder heißen jetzt erstmal A, B und C. Das sind Bereiche, in denen zu bestimmten Zeiten bestimmte Aufgaben gemacht werden. Es gibt aber nicht genug Materialien, um beispielsweise zwei Aufgaben zum selben Zeitpunkt in zwei verschiedenen Räumen zu machen.
okay, also ich nehme an, dass das mir vorschwebende Datenmodell nicht so sinnvoll ist. Es wird also wieder ein riesen Gebastele.
Hallo,
wie bereits gesagt, eine extra Tabelle.
ZitatEs wird also wieder ein riesen Gebastele.
Nur dann, wenn Du den Aufbau nicht nach den Regeln der Normalisierung machst.
PS:
Bitte schließe die Zitate in die Zitate Tags ein, damit man diese von Deinen Texten/Antworten unterscheiden kann.
Habe ich oben für Dich gemacht.