🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Fremdschlüsselvergabe
-
- Beiträge: 4
- Registriert: Do 22. Mai 2014, 18:44
Fremdschlüsselvergabe
Sehr geehrte Forenmitglieder,
ich bin wie nicht anders zu erwarten neu hier und im Umgang mit OOB unerfahren, obwohl die Grundkenntnisse aus MS Access da sind.
Ich möchte meine Tabellen so verknüpfen das eingetragene Daten naturlich in die angehängten Tabellen übernommen werden.
Mastertabelle soll Seriennummer sein und diese ist auch schon mit Bodentest verbunden übernimmt aber nicht die Daten.
Wie bekomme ich es hin die Weitergabe der Daten an die Detailtabelle zu bewirken.
Anschließend sollen auch noch die andern verbunden werden mit der Detailtabelle.
Mir gelingt auch die Fremdschlüsselvergabe nicht.
Für gutgemeinte Tipps bin ich sehr dankbar.
ich bin wie nicht anders zu erwarten neu hier und im Umgang mit OOB unerfahren, obwohl die Grundkenntnisse aus MS Access da sind.
Ich möchte meine Tabellen so verknüpfen das eingetragene Daten naturlich in die angehängten Tabellen übernommen werden.
Mastertabelle soll Seriennummer sein und diese ist auch schon mit Bodentest verbunden übernimmt aber nicht die Daten.
Wie bekomme ich es hin die Weitergabe der Daten an die Detailtabelle zu bewirken.
Anschließend sollen auch noch die andern verbunden werden mit der Detailtabelle.
Mir gelingt auch die Fremdschlüsselvergabe nicht.
Für gutgemeinte Tipps bin ich sehr dankbar.
- Dateianhänge
-
- Anfrage1.pdf
- (178.98 KiB) 213-mal heruntergeladen
Re: Fremdschlüsselvergabe
Hallo knieschuss,
Du hast 3 Tabellen, Tabelle "Seriennummer" stellt eine Verbindung zwischen "Bodentest" und "Beanstandungsmeldung" her. Die Anlage der Tabelle kann noch nicht komplett sein:
1. In der Tabelle "Seriennummer" ist nur die "Maschinenseriennummer" alleiniger Primärschlüssel. So kannst Du eine Seriennummer nur mit genau einer "Beanstandungsmeldung" verbinden. Da Du aber 3 Tabellen hast gehe ich davon aus, dass eine "Maschinenseriennummer" mit mehrere"Beanstandungsmeldungen" und eine "Beanstandungsmeldung" mit mehreren "Maschinenseriennummern" verknüpft werden soll. Ansonsten ergibt die Tabelle "Seriennummer" keinen Sinn.
Korrektur: Markiere beide Felder aus "Seriennummer" und mache sie zusammen zum Primärschlüssel.
2. Wenn das Verhältnis der Tabellen nicht so gedacht ist, dann muss eine "SAP ID" in die Tabelle "Maschinenseriennummer" mit eingetragen werden. Die Tabelle "Seriennummer" entfällt dann.
Damit Der Formularassistent Dir eine entsprechende Verbindung von Formular und Subformular erstellen kann, musst Du die Beziehungen unter Extras → Beziehungen festlegen. Ansonsten musst Du selbst bei der Formularerstellung eingreifen. Hast Du nur 2 Tabellen, so wird die Tabelle "Beanstandungsmeldungen" die Tabelle für das Hauptformular, die Tabelle "Bodentest" die Tabelle für das Unterformular.
Gruß
Robert
Du hast 3 Tabellen, Tabelle "Seriennummer" stellt eine Verbindung zwischen "Bodentest" und "Beanstandungsmeldung" her. Die Anlage der Tabelle kann noch nicht komplett sein:
1. In der Tabelle "Seriennummer" ist nur die "Maschinenseriennummer" alleiniger Primärschlüssel. So kannst Du eine Seriennummer nur mit genau einer "Beanstandungsmeldung" verbinden. Da Du aber 3 Tabellen hast gehe ich davon aus, dass eine "Maschinenseriennummer" mit mehrere"Beanstandungsmeldungen" und eine "Beanstandungsmeldung" mit mehreren "Maschinenseriennummern" verknüpft werden soll. Ansonsten ergibt die Tabelle "Seriennummer" keinen Sinn.
Korrektur: Markiere beide Felder aus "Seriennummer" und mache sie zusammen zum Primärschlüssel.
2. Wenn das Verhältnis der Tabellen nicht so gedacht ist, dann muss eine "SAP ID" in die Tabelle "Maschinenseriennummer" mit eingetragen werden. Die Tabelle "Seriennummer" entfällt dann.
Damit Der Formularassistent Dir eine entsprechende Verbindung von Formular und Subformular erstellen kann, musst Du die Beziehungen unter Extras → Beziehungen festlegen. Ansonsten musst Du selbst bei der Formularerstellung eingreifen. Hast Du nur 2 Tabellen, so wird die Tabelle "Beanstandungsmeldungen" die Tabelle für das Hauptformular, die Tabelle "Bodentest" die Tabelle für das Unterformular.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- Beiträge: 4
- Registriert: Do 22. Mai 2014, 18:44
Re: Fremdschlüsselvergabe
Hallo RobertG,
vielen dank für die schnelle Rückmeldung.
habe mich noch weiterhin versucht und sämtliche Strukturen um- und zurückgebaut.
Leider ohne Ergebnis.
Ich erhalte ständig die Meldung:
Primary or unique constraint required on main table: "Bodentest per MSN" in statement [ALTER TABLE "Beanstandungen MSN" ADD FOREIGN KEY ("Maschinenseriennummer") REFERENCES "Bodentest per MSN" ("Maschinenseriennummer") ON UPDATE SET NULL ON DELETE SET NULL ]
Es lässt sich keine 1:1 Beziehung aufbauen.
Muss in der Detailtabelle die Fremdschlüsselvergabe per direkt eingegebenen Befehl erfolgen oder in der Mastertabelle durch Eingabe der Referenzspalte?
Viele Grüße

vielen dank für die schnelle Rückmeldung.
habe mich noch weiterhin versucht und sämtliche Strukturen um- und zurückgebaut.
Leider ohne Ergebnis.
Ich erhalte ständig die Meldung:
Primary or unique constraint required on main table: "Bodentest per MSN" in statement [ALTER TABLE "Beanstandungen MSN" ADD FOREIGN KEY ("Maschinenseriennummer") REFERENCES "Bodentest per MSN" ("Maschinenseriennummer") ON UPDATE SET NULL ON DELETE SET NULL ]
Es lässt sich keine 1:1 Beziehung aufbauen.
Muss in der Detailtabelle die Fremdschlüsselvergabe per direkt eingegebenen Befehl erfolgen oder in der Mastertabelle durch Eingabe der Referenzspalte?
Viele Grüße

Re: Fremdschlüsselvergabe
Hallo Knieschuss,
weißt du, dass du auch die Datenbank hier hochladen kannst (gezippt, wenn nötig verfremdet)?
Dann stochern wir nicht im Nebel.
Gruß R
weißt du, dass du auch die Datenbank hier hochladen kannst (gezippt, wenn nötig verfremdet)?
Dann stochern wir nicht im Nebel.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Fremdschlüsselvergabe
Hallo knieschuss,
Sind vielleicht schon Werte in der Tabelle "Beanstandungen MSN" zur "Maschinenseriennummer" enthalten, die es in "Bodentest per MSN" nicht gibt?
Ich nehme doch an, dass zuerst die Beanstandung kommt und dann der Test durchgeführt wird. Also müsste eigentlich die Maschinenseriennummer in Beanstandungen ein Primärschlüsselfeld sein und nach Bodentest den Fremdschlüssel abgeben.
Wir R. schon schreibt kannst Du Datenbanken hochladen - nur eben nicht als *.odb-Datei. Warum das in diesem Forum nicht geht kann ich nur vermuten: Der Admin, der für diese Details zuständig ist, kennt wahrscheinlich die Endung nicht und unbekannte Dateiendungen werden abgelehnt. Packe die Datei einfach noch einmal als *.zip-Datei - oder benenne sie stumpf um in *.odt - macht LO auch direkt als Datenbank auf, weil es der Endung nicht bedingungslos traut.
Gruß
Robert
Ist "Maschinenseriennummer" Primärschlüssel in "Bodentest per MSN"?knieschuss hat geschrieben: Primary or unique constraint required on main table: "Bodentest per MSN" in statement [ALTER TABLE "Beanstandungen MSN" ADD FOREIGN KEY ("Maschinenseriennummer") REFERENCES "Bodentest per MSN" ("Maschinenseriennummer") ON UPDATE SET NULL ON DELETE SET NULL ]
Sind vielleicht schon Werte in der Tabelle "Beanstandungen MSN" zur "Maschinenseriennummer" enthalten, die es in "Bodentest per MSN" nicht gibt?
Ich nehme doch an, dass zuerst die Beanstandung kommt und dann der Test durchgeführt wird. Also müsste eigentlich die Maschinenseriennummer in Beanstandungen ein Primärschlüsselfeld sein und nach Bodentest den Fremdschlüssel abgeben.
Wir R. schon schreibt kannst Du Datenbanken hochladen - nur eben nicht als *.odb-Datei. Warum das in diesem Forum nicht geht kann ich nur vermuten: Der Admin, der für diese Details zuständig ist, kennt wahrscheinlich die Endung nicht und unbekannte Dateiendungen werden abgelehnt. Packe die Datei einfach noch einmal als *.zip-Datei - oder benenne sie stumpf um in *.odt - macht LO auch direkt als Datenbank auf, weil es der Endung nicht bedingungslos traut.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- Beiträge: 4
- Registriert: Do 22. Mai 2014, 18:44
Re: Fremdschlüsselvergabe
Super
das mit dem Hochladen hatte ich schon probiert und mich auch schon gewundert.
1.Ist "Maschinenseriennummer" Primärschlüssel in "Bodentest per MSN"?
ja das ist so vorgesehen
2.Sind vielleicht schon Werte in der Tabelle "Beanstandungen MSN" zur "Maschinenseriennummer" enthalten, die es in "Bodentest per MSN" nicht gibt?
Nein, da mir bewußt ist dass die Verknüpfungen und Schlüsselvergabe nur funktionieren wenn die Tabellen ohne Daten sind.
zum Aufbaugedanken der DB:
Prinzipieller Ansatz sollte sein,
- erst die Vergabe der Seriennummer und SAP ID, // sonst geht garnichts,
- per Maschinenseriennummer erfolgen dann vorgeschriebene Test`s,
- sind diese durchgeführt wird per Formulareingabe in "Bodentest per MSN" der Status auf BOOLean "JA" gesetzt,
- oder es erfolgt eine Beanstandung in der Tabelle "Beanstandungen MSN" einzeln per MSN oder auch zusammen, wenn der entsprechendr Test nicht OK ist.
Danke für den Hochladetipp.
Vielen Dank
Bis Bald
knieschuss
das mit dem Hochladen hatte ich schon probiert und mich auch schon gewundert.
1.Ist "Maschinenseriennummer" Primärschlüssel in "Bodentest per MSN"?
ja das ist so vorgesehen
2.Sind vielleicht schon Werte in der Tabelle "Beanstandungen MSN" zur "Maschinenseriennummer" enthalten, die es in "Bodentest per MSN" nicht gibt?
Nein, da mir bewußt ist dass die Verknüpfungen und Schlüsselvergabe nur funktionieren wenn die Tabellen ohne Daten sind.
zum Aufbaugedanken der DB:
Prinzipieller Ansatz sollte sein,
- erst die Vergabe der Seriennummer und SAP ID, // sonst geht garnichts,
- per Maschinenseriennummer erfolgen dann vorgeschriebene Test`s,
- sind diese durchgeführt wird per Formulareingabe in "Bodentest per MSN" der Status auf BOOLean "JA" gesetzt,
- oder es erfolgt eine Beanstandung in der Tabelle "Beanstandungen MSN" einzeln per MSN oder auch zusammen, wenn der entsprechendr Test nicht OK ist.
Danke für den Hochladetipp.
Vielen Dank
Bis Bald
knieschuss
- Dateianhänge
-
- Testsimulation - Kopie.odt
- es sind schon eine Versuche durchgeführt worden, daher manche Änderung
- (23.39 KiB) 191-mal heruntergeladen
Re: Fremdschlüsselvergabe
Schau mal ob's das ist,
eigentlch kannst Du die erste Tabelle "Seriennummer" weglassen, die Primärschlüssel werden 1:1 in die Tabelle "Bodentest per MSN" übernommen und bilden auch dort den Primärschlüssel.
HTH R
eigentlch kannst Du die erste Tabelle "Seriennummer" weglassen, die Primärschlüssel werden 1:1 in die Tabelle "Bodentest per MSN" übernommen und bilden auch dort den Primärschlüssel.
HTH R
- Dateianhänge
-
- Testsimulation - Kopie.zip
- nur entpacken
- (14.1 KiB) 208-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 4
- Registriert: Do 22. Mai 2014, 18:44
Re: Fremdschlüsselvergabe
Sehr vielen Dank an euch,
Der Aufbau ist gelungen und ich werde jetzt versuchen die Veränderungen nachzuvollziehen.
Bis bald
Knieschuss
,
Wenn sich wetere Fragen stellen, melde ich mich.
Der Aufbau ist gelungen und ich werde jetzt versuchen die Veränderungen nachzuvollziehen.
Bis bald
Knieschuss
,
Wenn sich wetere Fragen stellen, melde ich mich.
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.