Seite 1 von 1

Formularfeld mit Mehrfachauswahl aus 3 Tabellen?

Verfasst: Do 23. Jan 2014, 08:17
von gerdw
Hallo Forum,

ich würde gern ein Listenfeld mit Mehrfachauswahl in einem Formular haben. Leider fehlen mir irgendwie die Begrifflichkeiten, so dass mich Google und die Forensuche nicht wirklich weiterbringt.

Ich beschreib' mal worum es geht:

Ich möchte eine Adressdatenbank bauen, bei der jede Person Mitglied in bliebig vielen Gruppen sein kann. Dazu habe ich folgende Tabellen angelegt:

Tabellen:
Tabelle1: Personen (persID, Vorname, Nachname ...)
Tabelle2: Gruppen (grpID, Gruppenname)
Tabelle3: Pers2Grp ( ID, persID, grpID)

Beziehungen:
Die Beziehungen zwischen den drei Tabellen sind eingetragen wobei das n jeweils bei der vermittelnden Tabelle Pers2Grp steht.

Jetzt würde ich gern ein Formular zur Personeneingabe machen, in dem man angeben kann in welchen Gruppen die Person Mitglied ist.

* Geht das ohne dass ich in die Makro-Programmierung einsteigen muss (hätte ich echt wenig Lust ;-) ?
* Hat jemand vielleicht ein Beispiel was sowas Leistet? Ich habe mir die offizielle Beispieldatenbank "Medien_Base" die im Base Handbuch erwähnt ist angeschaut, aber die ist mächtig komplex für mich...

Beste Grüße aus Hessen
Gerd

Re: Formularfeld mit Mehrfachauswahl aus 3 Tabellen?

Verfasst: Do 23. Jan 2014, 10:06
von RobertG
Hallo Gerd,

wenn Du den Formularassistenten aufrufst musst Du ein Formular für die Tabelle "Personen" erstellen. Als Unterformular wählst Du "Pers2Grp" aus. Das Unterformular muss auf jeden Fall ein Tabellenkontrollfeld darstellen, damit Du mehrere Werte für einen Datensatz der Person eingeben kannst.

Die Tabelle "Pers2Grp" hat eigentlich ein Feld zu viel: "ID" wird nicht benötigt, da die beiden Fremdschlüssel zusammen den Primärschlüssel ergeben können. Keine Person taucht in einer Gruppe doppelt auf.

In dem Unterformular benötigst Du nachher nur das Feld "grpID". Dein Tabellenkontrollfeld des Unterformulares enthält jetzt also nur ein einziges Feld. Wenn Du die Gruppennummern auswendig kannst, dann kannst Du es dabei belassen und hier die Nummern nacheinander eintragen. Besser löst Du so etwas über ein Listenfeld. Du musst dazu mit einem rechten Mausklick das Feld umwandeln. Dazu findest Du auch die detaillierte Anleitung im Handbuch.

Gruß

Robert

Re: Formularfeld mit Mehrfachauswahl aus 3 Tabellen?

Verfasst: Do 23. Jan 2014, 14:58
von gerdw
Hallo Robert,

man kann wirklich sagen, dass Deine Hinweise den Durchbruch gebracht haben, vielen Dank.

Ich habe jetzt ein Unterformular mit einer Tabelle drin, und jedes Feld der Tabelle ist ein Listenfeld in dem die Gruppen zur Auswahl angeboten werden.

Das ist Klasse, diese Lösung ist schon so, dass ich Sie verwenden kann, nochmal Danke *freu*.

Statt der Tabelle ein Listenfeld zu haben, in dem man dann per Mehrfachauswahl angeben kann in welcher Gruppe eine Person ist geht bestimmt nicht mehr ohne Programmierung?

Man müsste ja irgendwie parsen welche Einträge markiert sind und dann Einträge in die vermittelnde Tabelle Pers2Grp machen.

Falls dazu noch jemandem was einfällt wäre ich dankbar. Aber brauchbar ist meine DB auch so schon.

Gruß
Gerd

Re: Formularfeld mit Mehrfachauswahl aus 3 Tabellen?

Verfasst: Do 23. Jan 2014, 19:08
von RobertG
Hallo Gerd,

grundsätzlich kann ja in das mit dem Listenfeld verbundene Element nur ein wert abgegeben werden. Da scheidet die Mehrfachauswahl schon einmal aus - wenn nicht irgendetwas per Makros gemacht wird.
Mit dem Tabellenkontrollfeld geht das ohne - und Du kannst alle ausgewählten Felder auch weiterhin sehen.

Gruß

Robert