Viele Tabellen mit gleichem Primärschlüssel

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

hobbyuser
Beiträge: 1
Registriert: Do, 15.10.2020 19:36

Viele Tabellen mit gleichem Primärschlüssel

Beitrag von hobbyuser »

Hallo,

ich bin base-neuling, habe in meiner Ausbildung schon einmal ein bisschen in Access rum gepfuscht, bin aber ansonsten unbefleckt. Dennoch möchte ich für jmd. weil ich weiß, dass die Möglichkeit besteht, deren Administration das bloß nicht hinbekommt, eine Datenbank erstellen.

Die Datenbank soll aus vier Tabellen bestehen wobei der Primärschlüssel bei allen Tabellen identisch sein soll. Und zwar nicht typischerweise als Integer sondern als Text, da es die Struktur x-xxx hat, jedes X steht für eine Ganzzahl. Also Grundsätzlich funktioniert das Ganze über 1:1 Beziehung aller Tabellen. Allerdings soll, wenn ich in Tabelle 1 einen neuen Datensatz anlege, dieser auch automatisch in allen anderen Tabellen angelegt werden. Und an dieser Stelle scheitere ich gerade. Schonmal vorab, weil ich weiß dass das der erste hinweis sein wird, kann ich die Tabellen nicht zusammenfassen, da sie sich im Inhalt überschneiden. Der Inhalt der jeweiligen Tabelle ist abhängig vom Zeitpunkt der Aufnahme. Jede Tabelle hat ein eigenes Formular und das Formular von Tabelle 1 ist dafür da neue Datensätze anzulegen. D.h. wenn ich in Formular_Tabelle1 einen Datensatz 1-234 anlege, soll dieser auch automatisch in Tabelle 2-4 erstellt werden. Optimalerweiser auch umgekehrt, also wenn er in Tabelle 1 gelöscht wird soll er auch in allen anderen verschwinden. Erstellen und löschen muss in keiner anderen Tabelle möglich sein. Da eine 1:1 Beziehung eher -untypisch ist kann ich wenig darüber in Foren oder Tutorials finden, bin aber aber sicher, dass mir hier jemand helfen kann.

Hiker
*****
Beiträge: 322
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Viele Tabellen mit gleichem Primärschlüssel

Beitrag von Hiker »

Hallo,

schau Dir mal im Base-Handbuch das Thema kaskadiert Löschen an, auf das z.B. hier
https://www.libreoffice-forum.de/viewtopic.php?t=18771
verwiesen wird.

Du wirst also mit Haupt- und Unterformular arbeiten müssen.

Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)

RobertG
*******
Beiträge: 1877
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Viele Tabellen mit gleichem Primärschlüssel

Beitrag von RobertG »

Wie Jörn schon schreibt ist das Löschen eine Frage der Einstellung in den Beziehungen.

Das automatische Erstellen von neuen Datensätze in anderen Tabellen geht nicht mit einfachen Mitteln. Die beste Variante ist hier, dass Du in einem Hauptformular die 1. Tabelle (die auf jeden Fall zuerst beschrieben werden soll) anwählst. Dann wird auf das Unterformular der Schlüsselwert übertragen. Existiert dort noch kein Eintrag, so bleibt das Unterformular leer. Erst wenn Du Einträge im Unterformular machst wird auch ein neuer Datensatz erstellt. Vorher brauchst Du den Datensatz ja sowieso nicht. In sofern reicht die Variante.

Wenn Du unbedingt leere Datensätze nur mit einem Primärschlüsselfeld erstellen willst, dann musst Du das über ein Makro erlöedigen, das beim Erstellen in der 1. Tabelle den dortigen Wert in die anderen Tabellen erledigt.

Antworten