Seite 1 von 1

Fremdschlüsselvergabe

Verfasst: Do 22. Mai 2014, 18:59
von knieschuss
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.

Re: Fremdschlüsselvergabe

Verfasst: Do 22. Mai 2014, 22:06
von RobertG
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

Re: Fremdschlüsselvergabe

Verfasst: Mo 26. Mai 2014, 18:43
von knieschuss
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
:?:

Re: Fremdschlüsselvergabe

Verfasst: Mo 26. Mai 2014, 19:42
von F3K Total
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

Re: Fremdschlüsselvergabe

Verfasst: Mo 26. Mai 2014, 21:13
von RobertG
Hallo knieschuss,
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 ]
Ist "Maschinenseriennummer" Primärschlüssel in "Bodentest per MSN"?
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

Re: Fremdschlüsselvergabe

Verfasst: Mo 26. Mai 2014, 22:43
von knieschuss
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

Re: Fremdschlüsselvergabe

Verfasst: Mo 26. Mai 2014, 23:13
von F3K Total
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

Re: Fremdschlüsselvergabe

Verfasst: Mi 28. Mai 2014, 15:47
von knieschuss
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.