Tagesarchiv: 5. Oktober 2020

Elemente nur in aktivem DS darstellen
Autor: René A. Da Rin,   Artikel erstellt: am 05.10.2020,   aktualisiert am 12.10.2020



Je nachdem wie viel Platz vorhanden ist, erspare ich mir auch schon mal ein separates Layout für die Dateneingabe und erledige das direkt in der Liste. Das kann man machen, wenn der Bildschirm gross genug ist und es sich nur um wenige Felder handelt.

Es kommt dann auch schon mal vor, dass ich in der Zeile einen oder mehrere Buttons platziere. Diese wiederholen sich dann aber in jeder Zeile, was dann doch sehr unschön aussieht.

Die Buttons sollen also nur in der Zeile angezeigt werden, welche gerade aktiv ausgewählt ist.

Dafür benötigen wir in der Tabelle eine erst mal für jeden Datensatz eine eindeutige ID. Das Feld nennen wir PrimaryKey.

Anschliessend wird ein Script erstellt. Nennen wir es aktiver Datensatz.

Variable setzen [ $$id ; Wert: tabellenname::PrimaryKey]
Fenster aktualisieren []

Nun wechseln wir in die Layouteinstellungen der Liste. Hier geht es zum Reiter ScriptTrigger. Weisen Sie dem Ereignis BeiDatensatzLaden das Script aktiver Datensatz zu.

Zum Schluss müssen wir noch das Verhalten des Buttons angeben. Unter Objekt ausblenden wenn tragen Sie $$id <> tabellenname::PrimaryKey ein.

Wenn alles richtig gemacht wurde, wird der Button nun nur in der ausgewählten Zeile angezeigt.

Quelle: FileMaker Magazin, vielen Dank für die tatkräftige Unterstützung. Im Forumsbeitrag gibt es auch eine Beispieldatei zum runter laden.

https://filemaker-magazin.de/forum/beitrag/204159

Eindeutige Datensatz-ID
Autor: René A. Da Rin,   Artikel erstellt: am 05.10.2020,   aktualisiert am 12.10.2020



Wichtig in jeder Tabelle ist, das jeder Datensatz eine eindeutige ID bekommt. Am Einfachsten erstellt man ein Zahlenfeld mit fortlaufender Nummer.

Will (muss) man aber sicherstellen, dass eine ID auch über mehrere Tabellen hinweg eindeutig ist und auch nicht irgendwo mit einer Berechnung zufällig übereinstimmt, sollte man hier eine UUID verwenden.

Dafür muss das Feld in ein Textfeld geändert werden. Unter automatischer Eingabe wählen Sie berechneter Wert aus und tragen Hole( UUID ) ein. Zusätzlich wählen Sie keine Veränderung des Wertes bei Dateneingabe aus. Die UUID schaut dann z.B. so aus:

961389A1-BE95-4784-8EC4-7C3E69EEB930