Tagesarchiv: 5. August 2020

Dynamische Wertelisten
Autor: René A. Da Rin,   Artikel erstellt: am 05.08.2020



Im Beitrag ‘Layout für unterschiedliche Tabellen nutzen‘ habe ich beschrieben, wie man in einer Tabelle unterschiedliche Listen verwenden kann.

Nun möchte ich je nach aufgerufener Liste für das Feld konto.text separate Wertelisten verwenden. Zahlungen an Wish erfolgen z.B. ausschliesslich über PayPal. Somit benötige ich im Konto ‘iTunes’ diesen Eintrag nicht.

Dafür erstelle ich eine neue Tabelle ‘Wertelisten’. Diese besteht aus den Feldern konto und wert. Für jeden Eintrag in der Werteliste erstelle ich einen Datensatz. Ins Feld konto kommt der selbe Wert wie ich in in der Kontoliste im Feld konto.ref verwende. Ins Feld wert kommt der Eintrag für die Werteliste.

Als Nächstes wird nun eine Beziehung benötigt zwischen den Feldern konto in der Tabelle ‘Werteliste’ und dem Feld konto.ref der Tabelle ‘Konten’. Bedingung: Werte identisch.

Im Layout wird dem Feld nun eine neue Werteliste zugeordnet. Diese bekommt die Einstellung ‘Werte verwenden aus Feld’, hier wählen wir das Feld wert aus der Tabelle Wertelisten aus, mit der Option ‘nur Bezugswerte aufnehmen, beginnend mit: (hier Bezugstabelle auswählen).

Nun bekommt die Werteliste für das Feld text in der Tabelle ‘Konten’ die Werte welche entsprechend dem Feld konto.ref zugeordnet sind.

Layout für unterschiedliche Tabellen nutzen
Autor: René A. Da Rin,   Artikel erstellt: am 05.08.2020



Gleich vorweg, FileMaker kann immer nur 1 Tabelle einem Layout zuweisen.

Um die Übersicht über die an verschiedenen Orten geparkten Guthaben zu behalten, habe ich mir eine Datenbank eingerichtet, um Ein- und Ausgänge für PayPal, iTunes, Playstore, Revolut, etc. zu erfassen.

Das gibt dann eine Liste für PayPal, eine Liste für iTunes…

Die Tabellen sind immer identisch. Datum, Text, Gutschrift, Abbuchung und Saldo. Dazu erstellt FileMaker jeweils ein eigenes Listenlayout. Die Listen sind auch immer identisch.

Also das selbe Layout mehrfach gestalten, Änderungen mehrfach nachführen, das ist nicht optimal.

Die Lösung ist einfach. Alle Datensätze in 1 Tabelle mit 1 Layout.

Dazu braucht es lediglich ein zusätzliches Feld, welches den Eintrag dem jeweiligen Konto zuordnet, z.B. konto.ref.

Für jedes Konto gibt es nun ein eigenes Script, das nach allen Datensätzen sucht, welche zum Konto gehören.

  • Feldwert setzen, z.B. ‘paypal’ ins Feld konto.akt
  • Feldwert setzen, z.B. ‘PayPal’ ins Feld konto.titel
  • Suchmodus aktivieren (Pause: aus)
  • Feldwert setzen, z.B. ‘paypal’ ins Feld konto.ref
  • Ergebnismenge suchen []
  • Sortieren nach Datum

Wie Sie den Script entnehmen können, habe ich der Tabelle noch 2 weitere Felder hinzugefügt, beide mit globalem Wert. Das Feld konto.akt bekommt den selben Wert wie die gelisteten DS im Feld konto.ref haben. Das Feld verwende ich im Script ‘neuer DS’ um den Wert im Feld konto.ref zu setzen.

Das Feld konto.titel ist im Layout im Kopfbereich platziert, damit sichtbar ist, welches Konto gelistet ist.

Wie dem Feld text in der Tabelle Konten eine dynamische Werteliste zugeordnet werden kann, wird im Beitrag ‘Dynamische Wertelisten‘ beschrieben. Den Eintrag ‘Wish’ benötige ich z.B. nur im Konto ‘PayPal’.