Automatisieren von Aufgaben mithilfe von Scripts > Script-Beispiele
 

Script-Beispiele

Sie können Scriptbeispiele als Ausgangsbasis für Ihre eigenen Scripts verwenden. Weitere Beispielscripts und zusätzliche Hilfe erhalten Sie in der FileMaker Community.

So zeigen Sie ein Script in FileMaker Pro Advanced an:

1. Wählen Sie Scripts > Scriptarbeitsbereich. Oder wählen Sie Datei (Windows) bzw. Ablage (macOS) > Verwalten > Scripts.

2. Doppelklicken Sie im Scriptsbereich das Script, das Sie anzeigen wollen.

Das Script öffnet sich in einem neuen Register im Scriptbearbeitungsbereich.

Beispiele für eine Wenn-Struktur

Die Scriptschritte „Wenn“, „Sonst, wenn“, „Sonst“ und „Ende (wenn)“ definieren eine Struktur, die steuert, ob Scriptschritte ausgeführt werden. Diese Steuerung hängt vom Ergebnis einer Testbedingung oder einer booleschen Formel ab.

Wenn das Ergebnis eine Zahl außer null ist, ergibt die Bedingung „Wahr“ und die nachfolgenden Scriptschritte werden ausgeführt.

Wenn das Ergebnis gleich null oder leer ist oder der Inhalt sich nicht als Zahl auflöst, ergibt die Bedingung „Falsch“ und die nachfolgenden Scriptschritte werden nicht ausgeführt.

„Sonst, wenn“-Schritte bieten zusätzliche boolesche Tests. Sonst-Schritte bieten Alternativen, die ausgeführt werden, wenn alle Bedingungen „Falsch“ ergeben.

Beispiel 1

Führt eine Suche durch. Wenn keine Datensätze gefunden werden, wird ein eigenes Dialogfeld angezeigt. Wenn Datensätze gefunden werden, wird die Ergebnismenge sortiert.

Ergebnismenge suchen [Wiederherstellen]
Wenn [Hole ( AnzahlGefundeneDatensätze ) = 0]
Eigenes Dialogfeld anzeigen ["Datensätze suchen"; "Keine Datensätze gefunden."]
Sonst
Sortieren [Wiederherstellen; Mit Dialog: Aus]
Ende (wenn)

Beispiel 2

Führt eine Suche durch. Wenn keine Datensätze gefunden werden, wird ein eigenes Dialogfeld angezeigt. Wenn ein einziger Datensatz gefunden wird, erfolgt ein Wechsel in das Layout „Rechnungsdetails“. Wenn mehrere Datensätze gefunden werden, erfolgt ein Wechsel in das Layout „Rechnungen“.

Ergebnismenge suchen [Wiederherstellen]
Wenn [Hole ( AnzahlGefundeneDatensätze ) = 0]
Eigenes Dialogfeld anzeigen ["Datensätze suchen"; "Keine Datensätze gefunden."]
Sonst, wenn [Hole ( AnzahlGefundeneDatensätze ) = 1]
Gehe zu Layout ["Rechnungsdetails"]
Sonst
Gehe zu Layout ["Rechnungen"]
Ende (wenn)

Beispiele für eine Schleifenstruktur

Die Scriptschritte „Schleife (Anfang)“, „Verlasse Schleife wenn“ und „Schleife (Ende)“ definieren eine Struktur, in der Scriptschritte wiederholt werden können. Scriptschritte zwischen „Schleife (Anfang)“ und „Schleife (Ende)“ werden so lange ausgeführt, bis die Bedingung „Verlasse Schleife wenn“ oder „Nach letztem beenden“ für einen Schritt „Gehe zu Datens./Abfrage/Seite“ oder „Gehe zu Ausschnitt“ erfüllt ist.

Verwenden Sie den Scriptschritt „Verlasse Schleife wenn“, um eine Formel anzugeben, die berechnet werden soll. Wenn das Ergebnis ungleich null ist, ergibt die Bedingung „Wahr“ und die Schleife endet. Wenn das Ergebnis gleich null ist, ergibt die Bedingung „Falsch“ und die Schleife fährt fort.

Beispiel 1

Kopiert den Inhalt von „Kunden::Telefon Arbeit“ in allen Datensätzen in „Kunde::Kontakt tagsüber“.

Gehe zu Datens./Abfrage/Seite [Erster]
Schleife (Anfang)
Feldwert setzen [Kunden::Kontakt tagsüber; Kunden::Telefon Arbeit]
Gehe zu Datens./Abfrage/Seite [Nächster; Nach letztem beenden: Ein]
Schleife (Ende)

Beispiel 2

Wechselt in einer Schleife durch Datensätze, um Dateien zu exportieren, die sich in Containerfeldern befinden. Verlässt die Schleife, wenn ein Datensatz ein leeres Containerfeld enthält.

Variable setzen [$PFAD; Wert: Hole ( DokumentenPfad ) & Produkte::Container]
Gehe zu Datens./Abfrage/Seite [Erster]
Schleife (Anfang)
Verlasse Schleife wenn [IstLeer (Produkte::Container)]
Exportiere alle Feldwerte [Produkte::Container; "$PFAD" ; Verzeichnisse
erstellen: Aus]
Gehe zu Datens./Abfrage/Seite [Nächster; Nach letztem beenden: Ein]
Schleife (Ende)

Startscript-Beispiele

Ein Startscript kann die Datenbankansicht für einen Benutzer oder andere Aktionen anpassen, wenn eine Datenbank geöffnet wird. Startscripts werden vom Script-Trigger „BeiErstemFensterÖffnen“ ausgeführt. Informationen zum Einrichten eines Startscripts finden Sie unter Festlegen von Dateioptionen.

Beispiel 1

Wechselt in das Administrationslayout, wenn dem Konto die Berechtigung „Voller Zugriff“ zugewiesen ist. Wechselt andernfalls in das Dateneingabelayout.

Wenn [Hole ( KontoBerechtigungenName ) = "[Full Access]"]
Gehe zu Layout ["Administration"]
Sonst
Gehe zu Layout ["Dateneingabe"]
Ende (wenn)

Beispiel 2

Prüft, welche Version von FileMaker Pro Advanced oder FileMaker Go die Datenbank geöffnet hat, und wechselt dann in das entsprechende Kundenlayout.

Wenn [Hole ( Gerät ) = 3]
Gehe zu Layout ["Kunden iPad"]
Sonst, wenn [Hole ( Gerät ) = 4]
Gehe zu Layout ["Kunden iPhone"]
Sonst
Gehe zu Layout ["Kunden"]
Ende (wenn)

Beispiele für „Script ausführen“ und Scriptparameter

„Script ausführen“ führt ein Script aus, das in der aktuellen Datei oder in einer anderen FileMaker Pro Advanced-Datei definiert ist.

Optionale Scriptparameter können einem Script Text übergeben. Sie können z. B. mithilfe eines Scriptparameters beim Start eines Scripts die Nummer des aktiven Datensatzes speichern, damit dieser Datensatz am Ende des Scripts wieder einfach aktiviert werden kann. Oder Sie können dasselbe Script über verschiedene Tasten auf demselben Layout aufrufen und problemlos bestimmen, welche Taste das Script aufgerufen hat, indem Sie für jede Taste einen anderen Scriptparameter verwenden.

Wenn Sie einen Parameter angeben, können Sie innerhalb eines Scripts auf ihn zugreifen und ihn mit der Funktion „Hole ( ScriptParameter )“ an andere Scriptschritte übergeben.

Komplexe Parameter wie eine Liste von Namen oder anderen Werten können ebenfalls verwendet werden. Komplexe Parameter, die durch Zeilenschaltungen getrennt sind, lassen sich mit der Funktion „ElementeLinks“, der Funktion „ElementeMitte“ und der Funktion „ElementeRechts“ prüfen. Diese Funktionen geben Anfangs-, Mittel- und Endwerte aus Listen zurück, deren Einträge durch Absatzende-Zeichen getrennt sind. Komplexe Parameter, die durch andere Zeichen getrennt sind, lassen sich mit der Funktion „ZeichenLinks“, der Funktion „ZeichenMitte“ und der Funktion „ZeichenRechts“ als Text analysieren.

Beispiel 1

Führt das Script „Rechnungsbericht drucken“ ohne Parameter aus.

Gehe zu Layout ["Rechnungsbericht"]
Script ausführen [Angegeben: Aus Liste ; "Rechnungsbericht drucken" ;
Parameter: ]

Beispiel 2

Verwendet das Feld „Kundenname“ als Parameter. Rechnungen für den aktuellen Kunden werden in einem neuen Fenster im Layout „Rechnungsbericht“ angezeigt.

Hauptscript: Aktuelle Kundenrechnungen

Übereinst. Datensätze suchen [Ersetzen; Rechnungen::KundenID]
#Ruft das unten definierte Teilscript "Kundenrechnungen anzeigen" auf
Script ausführen [Angegeben: Aus Liste: "Kundenrechnungen anzeigen"; Parameter: Rechnungen::Kundenname]

Teilscript: Kundenrechnungen anzeigen

Neues Fenster [Name: "Kunde: " & Hole ( ScriptParameter ); Stil: Dokument]
Gehe zu Layout ["Rechnungsbericht"]
Sortieren [Wiederherstellen; Mit Dialog: Aus]

Hinweise

Ein Scriptparameter besteht nur für die Dauer des Scripts. Scriptparameter werden bei jeder Ausführung eines Scripts zurückgesetzt. Wenn ein Scriptparameter beibehalten werden soll, so lange eine Datei geöffnet ist, können Sie eine globale Variable als Scriptparameter verwenden.

Ein Scriptparameter existiert nur im übergeordneten Script, es sei denn, er wird explizit mit der Funktion „Hole ( ScriptParameter )“ an ein anderes Script übergeben.

Ein Scriptparameter kann in einem Script verwendet (aber nicht geändert) werden und mithilfe der Funktion „Hole ( ScriptParameter )“ als Parameter an das Teilscript übergeben werden. Mithilfe von „Script ausführen“ können Sie auch bei jedem Aufruf des Teilscripts andere Parameter angeben. Durch Ändern der Parameter, die an ein Teilscript übergeben werden, ändert sich nicht der Wert der Parameter, die von „Hole ( ScriptParameter )“ vom übergeordneten Script zurückgegeben werden.