Formular mit m:n-Relation

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Lhmr
Beiträge: 4
Registriert: Do, 28.04.2016 18:53

Formular mit m:n-Relation

Beitrag von Lhmr »

Liebes Forum,

folgendes konkretes Problem: Ich möchte eine Mitgliederverwaltung für unseren studentischen Verein abbilden. Es gibt folgende Tabellen:

- Mitglieder (mID, Nachname, Vorname, Adresse etc.)
- Semester (sID, Jahr, Kurztext_Halbjahr, Langtext_Halbjahr)
- Mitglieder_Semester_Relationen (rID, mID, sID)

Erklärung: Unsere Mitglieder sind semesterweise Mitglied oder nicht, d.h. ein Mitglied war in mehreren Semestern im Verein und in einem Semester sind mehrere Mitglieder im Verein (m:n-Relation).

Was ich nun möchte: Ein hübsches Formular zur Datenverwaltung - ich habe bereits ein Formular über die Tabelle "Mitglieder" mit einem Subformular über "Mitglieder_Semester_Relationen". Dort kann ich die Mitgliederdaten wunderbar ändern und bekomme im Subformular auch angezeigt, welche Einträge in der Relations-Tabelle zu diesem Mitglied vorliegen (und kann diese ändern). Das Problem: Dort werden nur die mID sowie die sID aufgeführt - kann ich das irgendwie erreichen, dass anstatt der sID andere Felder der Tabelle "Semester" angezeigt werden? Dass ich also in diesem Subformular einfach angeben kann "Wintersemester, 2010" etc.?
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Formular mit m:n-Relation

Beitrag von RobertG »

Hallo Lhmr,

zuerst eine kleine Anmerkung zu "Mitglieder_Semester_Relationen": In dieser Tabelle steckt vermutlich ein überflüssiges Feld "rID". Da ein Mitglied immer nur einmal in einem Semester steckt, wenn ich das richtig verstehe, ergibt sich ein gemeinsamer Primärschlüssel aus "mID" und "sID".

Zum Formular: Du hast im Subformular nur noch das Feld "sID" einzugeben. Dies kannst Du über ein Listenfeld erledigen. Wie so ein Listenfeld erstellt, wird steht Schritt für Schritt im Handbuch im 2. Kapitel - Einführung in Base - Testbeispiel - Eingabeformular. Kurz geschrieben: Feld vom numerischen Feld in ein Listenfeld ändern, über SQL und den Abfrageeditor eine Abfrage erstellen, bei der das anzuzeigende Feld (z.B. "Langtext_Halbjahr") als erstes Feld angezeigt wird, "sID" als zweites Feld steht. "sID" wird dann bei der Auswahl von "Langtext_Halbjahr" abgespeichert. Wenn Du die Information von mehreren Spalten zusammen sehen willst, dann kannst Du z.B. "Jahr"||' '||"Langtext_Halbjahr" miteinander verbinden.

Gruß

Robert
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: Formular mit m:n-Relation

Beitrag von F3K Total »

Hallo,
da war Robert schneller, trotzdem, anbei eine Beispieldatei, auch ohne rID.
Du hast da zwei Möglichkeiten
  • Links werden den Mitgliedern die Semester zugeordnet, klicke dazu bei gewähltem Mitglied unten in eine leere Zeile der Spalte FK_ID_S
  • Rechts werden den Semester die Mitglieder zugeordnet, klicke dazu bei gewähltem Semester unten in eine leere Zeile der Spalte FK_ID_M
Ich empfehle dir dich mit dem Formularnavigator zu beschäftigen, es sind vier strukturelle Formulare vorhanden, eines wird von der Abfrage befüllt.
Um aus einer numerischen Spalte im Tabellenkontrollfeld ein Listenfeld zu machen, Rechtsklick auf den Spaltenkopf: Ersetzen durch -> Listenfeld
Gruß R alias F3K
Dateianhänge
StudiMitgliederverwaltung.odb
(69.37 KiB) 130-mal heruntergeladen
Zuletzt geändert von F3K Total am So, 08.05.2016 21:53, insgesamt 1-mal geändert.
Lhmr
Beiträge: 4
Registriert: Do, 28.04.2016 18:53

Re: Formular mit m:n-Relation

Beitrag von Lhmr »

Tausend Dank - verstanden!;-)
Antworten