Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
Um diese Beziehung aufzubauen, benötigt man entweder in der Tabelle „Kunden“ ein Feld für die Artikelnummer, was aber nur einen Artikel pro Kunde zulässt, oder in der Tabelle Artikel ein Feld für eine Kundennummer, was ebenfalls nur einen Kunden pro Artikel zulässt. Diese Art von eindeutigen Beziehungen (1:1) ist aber nicht immer gewünscht. Es wird also eine Möglichkeit für eine 1:n Beziehung gesucht, in der ein Kunde auf mehrere Artikel zeigt, bzw. derselbe Artikel auf mehrere Kunden zeigt. Um diese Form der Beziehung im FileMaker Pro umzusetzen, benötigt man eine weitere Bezugstabelle. In diesem Artikel beschreibe ich, wie eine solche Lösung in einer FileMaker-Datenbank umgesetzt werden kann.
Ich nenne diese Bezugstabelle mal „Artikel zu Kunden“. Diese Tabelle verfügt zunächst nur über zwei Felder: „_reKunden“ und „_reArtikel“, die wie im Diagramm (Abb. 1) dargestellt in Beziehung stehen. Die Tabelle „Artikel Auswahl Liste“ ist keine weitere FileMaker Pro Tabelle sondern eine Sicht auf die Tabelle Artikel, das sieht man sehr schön in Tabellendefinition in der Spalte „Auftreten im Diagramm“.
Wozu benötige ich die Tabelle „Artikel Auswahl Liste“? Nun, die Tabelle „Artikel“ steht in Bezug zu der Tabelle „Artikel zu Kunden“ und kann als Werteliste innerhalb der Beziehung kein Ergebnis liefern, ich brauche aber eine Werteliste zum Auswählen der Artikel, deshalb gibt es die Tabelle „Artikel Auswahl Liste“, sie ist die Datenbasis für eine Auswahlliste.
Die Tabelle „Artikel zu Kunden“ wird als Ausschnitt im Layout Kunden platziert. In dem Ausschnitt werden folgende Felder eingefügt.
Für die Beziehung zum Kunden muss kein Datenfeld platziert werden, weil die Beziehung so definiert ist, dass neue Datensätze im Ausschnitt automatisch den Bezugswert erhalten, und die Tabelle als Ausschnitt im Layout Kunden platziert ist, das jeweils zum aktuellen Datensatz den Bezugswert liefert. Siehe Abb. 2 zu den Einstellungen der Beziehung.
Aufbau der Werteliste für das Feld _reArtikel im Ausschnit „Artikel zu Kunden“.
Wie bereits erwähnt, kann die Tabelle Artikel nicht als Quelle für die Werteliste verwendet werden, weil sie selbst Teil der Beziehung ist, und somit erst Werte liefert, sobald die Beziehung einen gültigen Wert enthält. Für die Werteliste wird deshalb das Auftreten der Tabelle Artikel im Diagramm unter dem Namen „Artikel Auswahl Liste“ benutzt.
Anlegen einer neuen Werteliste, Menüleiste, Ablage, Verwalten, Wertelisten. Im erscheinenden Dialogfenster die Taste „Neu“ klicken. Für das weitere Vorgehen haben ich die zwei folgenden Screenshots angefügt.
Mit der angelegten Beziehung kann jetzt zu jedem Kunden eine beliebige Anzahl von Artikeln zugeordnet werden. Die Tabelle „Kunden zu Artikel“ liefert genauso eine beliebige Anzahl von Kunden zu einem Artikel.
Jens Liebelt, April 2011.
In Datenbankensystemen werden häufig hierarchische Strukturen benötigt. Die Einsatzgebiete für solche Hierarchien sind vielfältig. Immer wenn Information gegliedert dargestellt werden soll, werden Hierarchien benötigt. Eingesetzt werden kann das System zur Navigation innerhalb von FileMaker-Layouts oder innerhalb von Daten in einer FileMaker-Datenbank. Für die Funktion von FM-Explorer wird kein FileMaker-Plugin benötigt…
Haben Sie die Überschrift zweimal lesen müssen? Aber Sie haben richtig gelesen: Wer bis zum 20. Dezember 2012 eine Lizenz von FileMaker Pro 12 oder FileMaker Pro 12 Advanced kauft, erhält eine weitere Lizenz des gleichen Produkts kostenlos dazu. Das Angebot gilt bei Kauf einer entsprechenden Lizenz im FileMaker Webstore…
Mit FileMaker und PHP treffen zwei Welten aufeinander, die schon seit einigen Jahren sehr gut zueinander passen. Der FileMaker-Profi Bernhard Schulz, der sich bereits seit vielen Jahren mit der Anbindung von FileMaker-Datenbanken via PHP beschäftigt, veranstaltet vom 22. bis zum 24. Mai in Salzburg einen FileMaker und PHP Power-Workshop. Das…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb
Hallo Markus
Der Titel ist irreführend, denn es geht um eine m:n Beziehung, die in FileMaker durch das Erstellen einer Kreuztabelle in zwei 1:n Beziehungen aufgeteilt wird.
Die Beziehungen im Deinem ersten Abschnitt sind keine 1:1 Beziehungen, sondern 1:n Beziehungen, da der gleiche Artikel bei mehreren Personen und eine Person bei mehreren Artikeln drin sein könnte.
Nur so :-)
Guten Tag,
dieser Artikel hat mir weitergeholfen – Danke! Zwei Fragen verbleiben noch:
(1) Ich habe nicht ganz nachvollzogen, warum man eine Tabelle im Diagramm noch einmal auftreten lassen muss, um sie als Werteliste zu verwenden. Ich habe bei meinen Kreuztabellen direkt Felder aus Tabellen angegeben, die Teil der Beziehung waren und habe korrekte Werte erhalten.
(2) Ich habe drei Tabellen, die ich mit Hilfe von drei Kreuztabellen [+ zwei weitere für Self-Joints, die ich hier außen vor lasse) verbinden möchte.
Die Tabellen heißen, der Anschaulichkeit wegen gebe ich dies an, „Fakten“ (A), „Personen“ (B) und „Orte“ (C). Das Verknüfungsschema sieht folgendermaßen aus:
A x B, A x C; B x A, B x C; C x A, C x B – jeder mit jedem also (s. Bild mit eingekreister ‚Problembeziehung‘ https://www.dropbox.com/s/q2y9m79bpz0pdt9/Beziehungen.png?v=0mcn). Das Problem: alle diese Beziehungen funktionieren einwandfrei bis auf die Vebindung C x B – hier werden die Beziehungen zwischen den Datensätzen nicht richtig eingetragen und im Ausschnittsbereich auch nicht richtig dargestellt. Liegt es daran, dass jede Tabelle mit jeder verknüpft ist?
Vielen Dank für Eure Hilfe
Moritz
Hallo
Wenn man nun aber aus dem Ausschnitt einen Artikel wieder löscht, wird in der Bezugstabelle „Artikel zu Kunden“ lediglich der Feldwert von _reArtikel gelöscht, nicht jedoch der komplette Datensatz…
Wie kann man das ändern? Bzw. ist es tragisch wenn solche „halben“ Datensätze in der Bezugstabelle „Artikel zu Kunden“ verbleiben?
Für alle die die gleiche Frage plagt wir John – man kann den ganzen Datensatz löschen indem man im Layoutmodus mit dem Tastenwerkzeug eine Taste hinzufügt mit der Funktion „Auschnittreihe löschen“.