Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Mr. Ahnungslos am Dezember 21, 2013, 13:26:28

Titel: Bock geschossen - aber wo?
Beitrag von: Mr. Ahnungslos am Dezember 21, 2013, 13:26:28
Hallo Forum,

irgendwie bin ich in ein Fettnäpfchen getreten, weiß aber nicht wo.  ???

Problem: In einem Hauptformular wird mittels Kombinationsfeld ein Wert ausgewählt (MeetingID). In einem Unterformular erscheinen daraufhin per Endlosformular diverse Datensätze, in denen das Feld "Meeting" identisch mit der "MeetingID" aus dem Hauptformular ist. Ändert man im Hauptformular die MeetingID, so ändert sich auch das Unterformular entsprechend. Soweit so gut. Meiner Meinung nach müsste "verknüpfen von...nach" also richtig sein.

Wenn ich nun aber im Unterformular einen weiteren Datensatz anlegen möchte, so sollte dieser ja auch automatisch die MeetingID aus dem Hauptformular übernehmen und in das Feld Meeting eintragen. Tut es aber nicht. Meeting bleibt leer. Ich nehme an, dass irgendwas bei der Datenbankbeziehung zwischen den Tabellen des Hauptformulars und des Unterformulars nicht stimmt. Hier bekomme ich auch aus einem mir unerklärlichen Grund keine 1:n-Beziehung hin. Beim Versuch die Felder MeetingID (ist der Primärschlüssel der Tabelle) und Meeting (Fremdschlüssel, Zahl) in Beziehung zu setzen kommt der Fehler "Es wurde kein eindeutiger Index für das in Beziehung stehende Feld der Primärtabelle angegeben".

Nun hörte mit meinem Latein auf. Zu blöd - vor kurzem hat noch alles funktioniert - was habe ich da bloß geändert?

Ich danke Euch für Eure Hilfe.

Michael
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Stapi am Dezember 21, 2013, 13:53:15
Hallo

ZitatHier bekomme ich auch aus einem mir unerklärlichen Grund keine 1:n-Beziehung hin
Schau mal in denTabellen Eigenschaften der Fremdschlüssel Felder ist dort was nicht eingetragen Z.B Eingabe Erforderlich = ? ,
Idiziert = ?
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Mr. Ahnungslos am Dezember 21, 2013, 14:11:08
Feldeigenschaften von Feld "Meeting", welches auf die MeetingID verweist sieht wie folgt aus:

Eingabe erforderlich = nein
indiziert = Ja (Duplikate möglich)

Gruß

Michael
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Stapi am Dezember 21, 2013, 14:15:28
Hallo

ZitatEingabe erforderlich = nein

Auf "Ja" stellen und dann kannst du auch die Beziehung 1:n erstellen
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Mr. Ahnungslos am Dezember 21, 2013, 14:21:17
Ist jetzt auf "Eingabe erforderlich - ja" umgestellt, funktioniert aber immernoch nicht. Fehlermeldung ist noch die Gleiche.
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Stapi am Dezember 21, 2013, 14:30:48
Hallo

Welche Eigenschaften stehen beim PK Schlüssel drin??
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Mr. Ahnungslos am Dezember 21, 2013, 14:38:45
Sorry, muss mich korrigieren. 1:n-Beziehung liess sich jetzt doch installieren. Habe zuerst versucht in dem Beziehungsdiagramm das Feld Meeting auf MeetingID zu ziehen und somit die Beziehung zu erstellen. Als ich dann über "neue Beziehung" die linke und die rechte Tabelle manuell ausgewählt habe funktierte es.

Aber: mein Hauptproblem besteht noch. Beim Anlegen eines neuen Datensatzes im UFO wird der Wert aus der Hauptformular nicht im neuen Datensatz übernommen und es erscheint nun ein Fehler, da wir ja umgestellt haben auf "Eingabe erforderlich". ???
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Stapi am Dezember 21, 2013, 14:44:28
Hallo

Dann lösche dein UFO auf dem Hafo und binde es erneut ein und wie du Beschrieben hast Verküpfen von nach vergessen
Titel: Re: Bock geschossen - aber wo?
Beitrag von: Mr. Ahnungslos am Dezember 21, 2013, 14:48:50
Danke für Deine Hilfe! Habe mir jetzt so beholfen, dass ich nun in dem Textfeld Meeting im Unterformular einen Standardwert einsetzen lasse, der dem Wert MeetingID aus dem Hauptformular entspricht (ging relativ leicht über den Codegenerator).

Jetzt wird bei jedem neuen Datensatz der richtige Wert aus dem Hauptformular automatisch übernommen. Weiß zwar nicht ob die Lösung so schön ist, aber Sie funktioniert. ;D

Danke, Michael