Darstellung von m:n in einem Formular

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

krilledrille
Beiträge: 3
Registriert: Fr, 26.06.2015 14:06

Darstellung von m:n in einem Formular

Beitrag von krilledrille »

Hallo,
erster Post hier, ich hoffe ihr seid mit einem Neuling gnädig. Ich denke die Frage ist nicht wirklich schwierig...
Contracts-PoC.odb
(28.92 KiB) 113-mal heruntergeladen
Ich versuche, eine m:n Beziehung per Formular darzustellen. Die Tabellen habe ich soweit erstellt:

Vertrag (eine Liste von Verträgen, welche jeder diverse Dokumente beinhalten kann)
Dokument (eine Liste von Dokumenten, von welchen jedes in mehreren Verträgen Anwendung finden kann)
Vertrage_Dokumente (als verbindende Tabelle)

Die Beziehungen sind erstellt.

Ich habe ein MainFormular mit der Tabelle der Verträge, das ist OK
Ein SubFormular mit der Tabelle welcher die Beziehungen - also Vertrage_Dokumente - darstellt. Das funktioniert auch
Ein SubSubFormular, in welchem gelistet werden soll, welche Dokumente zum selektierten Vertrag gehören (wenn das mal funktioniert möchte ich auch das umgekehrte machen, aber das ist ja dann wohl das gleiche). Und hier beginnt das Problem. In dieser Liste wird partout nur ein einziges Dokument des Vertrags dargestellt, aber nie alle... Siehe auch Anhang. Wie erreiche ich, was ich will?

Vielen Dank
krilledrille
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Darstellung von m:n in einem Formular

Beitrag von RobertG »

Hallo krilledrille,

die eigentliche n:m-Verbindung hast Du ja hin bekommen. Für die Zuordnung von Dokumenten zu Verträgen ist nur die Variante geeignet, die in dem Unterformular die Tabelle "Vertrage_Dokumente" darstellt und innerhalb dieses Formulars die Dokumente über eine Listenfeld auswählbar hält. Mit einem Listenfeld kannst Du dann beliebige Dokumente einem Vertrag zuordnen.

Willst Du die gesamten Informationen zu den Dokumenten sehen, so kannst Du auch das in Listenfeldern durch die Verknüpfung von Feldern in dem Listenfeld erledigen:

Code: Alles auswählen

SELECT "DokumentenName"||' > '||"DokumentenVersion", "ID_Dokument" FROM "Dokument"
Willst Du nur alle zugeordeneten Dokumente sehen, aber nicht weitere Dokumente hinzufügen, so kannst Du die Tabellen "Vertraege_Dokumente" und "Dokumente" miteinander in einer Abfrage verbinden. Dann beruht das Unterformular genau auf dieser Abfrage.

Ich habe die beiden Varianten einmal angehängt.

Gruß

Robert
Dateianhänge
Contracts-PoC.odb
Zwei Formularzugriffe bei n:m-Beziehung
(23.58 KiB) 185-mal heruntergeladen
krilledrille
Beiträge: 3
Registriert: Fr, 26.06.2015 14:06

Re: Darstellung von m:n in einem Formular

Beitrag von krilledrille »

Hallo Robert,
das ist schon mal grosses Kino, danke für die zackige Antwort. Den ersten Teil
Für die Zuordnung von Dokumenten zu Verträgen ist nur die Variante geeignet, die in dem Unterformular die Tabelle "Vertrage_Dokumente" darstellt und innerhalb dieses Formulars die Dokumente über eine Listenfeld auswählbar hält. Mit einem Listenfeld kannst Du dann beliebige Dokumente einem Vertrag zuordnen
verstehe ich nicht ganz, da hats mir etwas zu viele Listenfelder und Formulare drin. Kannst du bitte noch ein klein wenig ausführen?
Herzlichen Dank
Krilledrille
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Darstellung von m:n in einem Formular

Beitrag von RobertG »

Hallo Krilledrille,

ich habe das mit dem Listenfeld in der Beispieldatei in Deinem Formular eingebaut. Da steht jetzt in dem Unterformular nur noch ein Listenfeld, das den Eintrag für den Fremdschlüssel "ID_Dokument" in die Tabelle "Vertrage_Dokumente" erledigt.
Öffne einfach das entsprechende Formular zum Bearbeiten und lass Dir die Eigenschaften des Feldes bzw. des Formulars anzeigen.

Gruß

Robert
krilledrille
Beiträge: 3
Registriert: Fr, 26.06.2015 14:06

Re: Darstellung von m:n in einem Formular

Beitrag von krilledrille »

Vielen Dank Robert, super Hilfe!
Antworten