Einführung in FileMaker Pro – Teil 4

Einführung in FileMaker - Teil 4In den ersten drei Teilen des Einführungs-Tutorials für FileMaker Pro haben wir zunächst die Grundlagen von FileMaker-Datenbanken behandelt, um dann anhand einer Beispieldatenbank zur Verwaltung von Adressen sogleich an die Praxis der Entwicklung von FileMaker-Datenbanken zu gehen. Im dritten Teil ging es hauptsächlich um Layouts, Navigation und Formelfelder.

Auch bei der Entwicklung von FileMaker-Datenbanken kommt der Entwickler um die theoretischen Grundlagen der Komponenten einer FileMaker-Datenbank nicht herum. Deshalb werden wir uns dieses Mal mit Feldern, Beziehungen, Scripten, Plugins, eigenen Funktionen und SQL in FileMaker beschäftigen. Bitte berücksichtigen Sie, dass einige Funktionen wie z.B. Custom Functions ausschliesslich in der Advanced-Version von FileMaker zur Verfügung stehen, was wir im folgenden Tutorial entsprechend kennzeichnen.

Felder, Beziehungen, Scripte, Custom Functions, Plugins, SQL – was ist was?

Eine FileMaker-Datenbank besteht aus vielen einzelnen Komponenten: Felder, Formelfelder, Beziehungen, Layouts, Scripte, eigene Funktionen und ggf. auch FileMaker-Plugins. Im ersten Teil der FileMaker-Einführung habe ich bereits grob angerissen, was mit den einzelnen Komponenten einer Datenbank angestellt werden kann – hier eine kurze Auffrischung:

Felder und Formeln

Alle Felder, die unter [Ablage (Datei) > Verwalten > Datenbank] unter dem Reiter „Felder“ definiert werden können, enthalten das gesamte Datenmaterial einer FileMaker-Datenbank. Hierbei wird im Prinzip unterschieden zwischen Text-, Zahlen-, Datums-, Zeit- und Medienfeldern, Formeln und Statistikfeldern, wobei die ersten vier genannten Feldarten reine Daten aufnehmen können. Formelfelder enthalten beliebige Berechnungen aus anderen Datenfeldern, die in Echtzeit berechnet werden können, Medienfelder (bzw. -container) können Medien aller Art enthalten, also Bilder, Sounddaten, Videos oder auch PDF-Dateien. Datums- und Zeitfelder sind an dieser Stelle mehr oder weniger selbsterklärend, und Statistikfelder berechnen selbständig statistische Werte aus anderen Feldern (z.B. „Anzahl Kunden“ oder „Gesamtumsatz“).

Felddefinitionen in FileMaker

Beziehungen (Table Occurrences, „TOs“, Relationships)

Beziehung in einer FileMaker-DatenbankBeziehungen, die unter [Ablage (Datei) – Verwalten – Datenbank] unter dem Reiter [Beziehungen] definiert werden, dienen der Verknüpfung von Datentabellen innerhalb einer FileMaker-Datenbank. Hiermit ist es möglich, beispielsweise beliebig viele weitere Datensätze wie Ansprechpartner, Aktionen, Rechnungen oder was auch immer einem zugehörigen Datensatz zuzuordnen. Eine Beziehung besteht immer aus zwei Tabellen, die über zwei bestimmte Felder miteinander verknüpft wurden. Dabei kann das Verknüpfungskriterium zwischen den beiden Feldern durchaus variieren. Möchten Sie beispielsweise zu einem Kundendatensatz beliebig viele Notizen speichern, verknüpfen Sie die Tabellen „Kunden“ und „Notizen“ in der Tabelle Kunden mit dem Primärschlüssel „_pk_Kunden_ID“ (pk = primary key) und in der Tabelle „Notizen“ mit dem Fremdschlüssel „_fk_Kunden_ID“ (fk = foreign key). In der Tabelle „Notizen“ müssen Sie also die Kunden-ID ebenfalls anlegen, in diesem Fall jedoch als Fremdschlüssel. Werden die beiden Tabellen nun jeweils über das Schlüsselfeld „Kunden-ID“ mit dem Kriterium „=“ miteinander verknüpft, können alle Datensätze aus der Tabelle „Notizen“ mit identischer Kunden-ID dem jeweiligen Datensatz aus der Tabelle „Kunden“ zugeordnet werden. Diese Funktion haben wir bereits im dritten Teil der FileMaker-Einführung genutzt.

FileMaker unterstützt für die Verknüpfung zweier Tabellen folgende Kriterien:

  • = (Feldwert in Tabelle A entspricht Feldwert in Tabelle B)
  • (Feldwert in Tabelle A entspricht NICHT Feldwert in Tabelle B)
  • < (Feldwert in Tabelle A muß kleiner sein als Feldwert in Tabelle B)
  • (Feldwert in Tabelle A muß kleiner oder gleich sein wie Feldwert in Tabelle B)
  • > (Feldwert in Tabelle A muß größer sein als Feldwert in Tabelle B)
  •  (Feldwert in Tabelle A muß größer oder gleich sein wie Feldwert in Tabelle B)
  • X (Globale Beziehung, trifft für alle Datensätze in Tabelle A und B zu)

Alle Beziehungen einer FileMaker-Datenbank werden im sogenannten „Beziehungsgraphen“ dargestellt, der sich unter dem Menüpunkt [Ablage (Datei) – Verwalten – Datenbank] anzeigen und modifizieren läßt. Ein Beziehungsgraph kann im Laufe der Entwicklung sehr umfangreich werden; deshalb empfehlen wir, den Beziehungsgraphen von vornherein so übersichtlich wie möglich zu gestalten und auch die Dokumentationswerkzeuge und Farben zu verwenden, um die Übersicht zu wahren.

Beziehungsgraph einer FileMaker-Datenbank

FileMaker Scripte

Mit Scripten können wiederkehrende Aufgaben in einer FileMaker-Datenbank programmiert und bei Bedarf einfach ausgeführt werden. FileMaker verfügt über ein umfangreiches Arsenal an Script-Befehlen, um auch komplexeste Vorgänge vollständig automatisieren zu können. Scripte können in FileMaker unter [Ablage (Datei) – Scripts – Scripts verwalten] erstellt werden. Nach Klick auf die Schaltfläche [Neu] öffnet sich das Script-Editor-Fenster, mit dem das Script programmiert werden kann. Es handelt sich hierbei um ein zweigeteiltes Fenster, das in der linken Spalte die verfügbaren Befehle und in der (größeren) rechten Spalte die von Ihnen zusammengestellten Scriptbefehle enthält. Im unteren Bereich der rechten Spalte lassen sich für viele Befehle zusätzliche Parameter angeben, wie zum Beispiel ein bestimmter Dateiname, die Option „ohne Dialogfeld“ oder andere Einstellungsmöglichkeiten. Einen neuen Scriptbefehl fügen Sie einfach durch Doppelklick auf den gewünschten Befehl in der linken Spalte Ihrem Script hinzu, woraufhin der Befehl in der rechten Spalte, also in Ihrem Script, erscheint. Können zum gewählten Scriptbefehl Parameter angegeben werden, zeigt FileMaker dies im unteren Bereich der rechten Spalte an. Wir empfehlen, Scripte mit dem Befehl „Kommentar“ grundsätzlich ausführlich zu kommentieren, damit Sie sich auch später noch problemlos in Ihrem Script zurechtfinden können.

Script-Editor in FileMaker

Die in der Abbildung sichtbaren farblichen Hervorhebungen resultieren übrigens aus dem Einsatz des MBS FileMaker Plugins. Dieses Plugin kann Befehle im Script- und Formeleditor farblich hervorheben, was die Übersichtlichkeit deutlich verbessert. Zeilen mit fehlerhaften Befehlen stellt das Plugin in roter Textfarbe dar, so dass sich syntaktische Fehler sehr schnell aufspüren lassen.

Alle Scriptbefehle sind in FileMaker Pro 13 in folgende Kategorien gegliedert:

  • Steuerung – Steuerbefehle für Scripte, Wenn-Dann-Bedingungen, Schleifen, Variable setzen, Timer-Scripte
  • Navigation – „Gehe zu“ Layout, Datensatz/Abfrage/Seite, Bezugsdatensatz, Ausschnittreihe, Objekt usw., Wechsel der Ansichtsmodi „Blättern“, „Suchen“ und „Seitenansicht“.
  • Bearbeitung – Befehle, die Sie wahrscheinlich auch von anderen Programmen aus dem Menüpunkt „Bearbeiten“ in der Menüleiste kennen.
  • Felder – Feldbezogene Befehle wie „Feldwert setzen“, „Text einfügen“, „Berechneten Wert einfügen“, „Referenzwerte holen“ oder auch „Ersetze alle Feldwerte“.
  • Datensätze – Befehle, die sich auf die Bearbeitung von Datensätzen beziehen, wie z.B. „Neuer Datensatz/Abfrage“, „Datensatz duplizieren“, „Datensatz löschen“ oder „Datensätze exportieren“.
  • Ergebnismengen – Wenn Sie in FileMaker nach Datensätzen suchen, erhalten Sie daraufhin eine bestimmte „Ergebnismenge“, also zum Beispiel „10 von 100 Datensätzen“, die jeweils Ihr gesuchtes Kriterium enthalten. Mit diesen Befehlen können Sie also Selektionen durchführen, die Ergebnismenge einschränken oder erweitern, die Ergebnismenge aufheben (Alle Datensätze anzeigen) oder auch Datensätze sortieren.
  • Fenster – Mit den Befehlen dieser Kategorie können Sie in FileMaker Fenster manipulieren, also z.B. ein neues Fenster öffnen, ein Fenster aktivieren, schließen oder anpassen, die Menüleiste oder Statusleisten ein- und ausblenden, den Fenstertitel ändern oder die Zoomstufe setzen.
  • Dateien – In dieser Kategorie finden Sie alle Befehle für Dateioperationen, also z.B. „Neue Datei“, „Datei öffnen“, „Datei schließen“ oder auch Druckersteuerbefehle wie „Drucker einrichten“ und „Drucken“.
  • Konten – Die in dieser Kategorie befindlichen Befehle beziehen sich auf FileMaker Benutzerkonten. Sie können damit ein neues Konto hinzufügen, löschen, das Passwort zurücksetzen oder ändern oder ein Konto aktivieren.
  • Rechtschreibung – Diese Kategorie enthält Befehle zur Rechtschreibprüfung von Daten in FileMaker.
  • Menüeintrag öffnen – Öffnen Sie mit diesen Befehlen verschiedene Verwaltungsfenster in FileMaker wie z.B. „gespeicherte Suchen bearbeiten“, „Einstellungen“, „Dateioptionen“ oder auch „Datenbank verwalten“.
  • Verschiedenes – In dieser Kategorie befinden sich einige Befehle, die sich nicht eindeutig den anderen Kategorien zuordnen lassen. Wichtige Befehle dieser Kategorie sind beispielsweise „Eigenes Dialogfeld anzeigen“, „URL öffnen“, „E-Mail senden“, „SQL ausführen“ oder auch „Kommentar“.

Parametrisierte Scripte

FileMaker-Scripte können Parameter annehmen und für andere Scripte oder Funktionen übergeben. Für das Auslesen eines Script-Parameters verwendet man in FileMaker den Befehl

Hole ( ScriptParameter )

Der Parameter kann direkt beim Aufruf eines Scriptes übergeben werden. Sollen mehrere Parameter an ein Script übergeben werden, kann man beispielsweise einen mit Pipes getrennten String übergeben und später im Script wieder auseinander rechnen. Hierfür eignet sich übrigens die Erstellung einer eigenen Funktion (Custom Function). Mit der Funktion

Hole ( ScriptErgebnis )

kann ein Script auch ein bestimmtes Ergebnis für die Ausführung in einem anderen Script liefern.

Custom Functions (Eigene Funktionen)

Mit Custom Functions können Sie eigene Funktionen in FileMaker programmieren und in Scripten oder Formeln aufrufen wie jeden anderen Befehl auch. Damit läßt sich Ihre FileMaker-Datenbank um beliebig viele weitere Funktionen erweitern. Diese Funktion ist sehr mächtig und steht ausschließlich in der Advanced-Version von FileMaker zur Verfügung. Im Internet gibt es Seiten wie z.B. Briandunning, die große Sammlungen von FileMaker Custom Functions zum Übernehmen in die eigene FileMaker-Lösung bereitstellen. Die Verwaltung eigener Funktionen ist in FileMaker unter dem Menüpunkt [Ablage (Datei) – Verwalten – Eigene Funktionen] zu finden. Mit Klick auf die Schaltfläche [Neu…] läßt sich eine neue eigene Funktion in FileMaker definieren. Eine eigene Funktion besteht aus drei Bestandteilen:

  • Funktionsname – Name, unter der die Funktion gespeichert wird und aufgerufen werden kann
  • Funktionsparameter – Beliebig viele Parameter für den Aufruf der eigenen Funktion
  • Funktion – die Funktion selbst, also die Berechnung, die die Funktion ausführen soll

Custom Functions in FileMaker

FileMaker-Plugins für unendlich viele weitere Funktionen

FileMaker PluginsBereits seit vielen Generationen unterstützt FileMaker die Nutzung externer Plugins, mit denen die Funktionalität von FileMaker erweitert werden kann. Die Installation eines FileMaker-Plugins kann auf verschiedene Weisen erfolgen – die einfachste ist, die Plugindatei in das Verzeichnis [Extensions] zu kopieren, das sich im FileMaker Programmverzeichnis befindet. Sobald das Plugin installiert wurde, stehen in Ihrer FileMaker-Datenbank weitere Funktionen des Plugins zur Verfügung, die im Formeleditor in der Kategorie [Externe Funktionen] angezeigt werden. Sie können genauso genutzt werden wie integrierte FileMaker-Funktionen oder eigene Funktionen (Custom Functions). Plugins können in FileMaker aktiviert und deaktiviert werden unter [FileMaker Pro (Advanced) – Voreinstellungen – Plugins].

Seit einiger Zeit werden für FileMaker hochintegrierte Plugins angeboten, die über eine Vielzahl verschiedener Funktionen verfügen. So bietet beispielsweise das MBS FileMaker Plugin mehr als 3.000 neue Funktionen, oder mit dem ScriptMaster Plugin von 360Works lassen sich sogar eigene Plugins erzeugen. Viele Plugins bieten nicht nur weitere FileMaker-interne Funktionen, sondern unterstützen auch Hardware von Drittherstellern. So lassen sich beispielsweise mit dem MBS FileMaker Plugin auch TWAIN-kompatible Scanner oder auch Farbmessgeräte ansteuern, PDF- und Grafikdateien direkt in FileMaker bearbeiten oder E-Mails senden und empfangen.

FileMaker und SQL: Zwei Welten wachsen zusammen.

Die Datenbank-Abfragesprache SQL kann in FileMaker sowohl für externe Datenbanken wie z.B. MySQL-Datenbanken im Internet als auch intern für FileMaker-Datenbanken genutzt werden. Soll auf eine externe SQL-Datenbank zugegriffen werden, muß hierfür zunächst eine ODBC-Datenquelle unter Mac OS X oder Windows angelegt werden. Auf interne FileMaker-Datenbanktabellen kann zugegriffen werden mit dem Befehl

SQLAusführen ( sqlAbfrage ; Feldtrennzeichen ; Zeilentrennzeichen ; {Argumente})

Um per SQL auf eine FileMaker Datentabelle zugreifen zu können, muss die Tabelle als Tabellenauftreten im Beziehungsgraphen angelegt worden sein. Eine bestimmte Beziehung zur Tabelle ist nicht notwendig, weil entsprechende Kriterien direkt mit dem SQL-Statement mitgeliefert werden können.

Besonderheiten bei FileMaker SQL

Prinzipiell verwendet FileMaker standardisierte SQL-Befehle. Wenn ein Feldname, der im SQL-Statement auftaucht, ein Sonderzeichen am Anfang enthält wie beispielsweise einen Unterstrich „_“, muss der Feldname in Anführungszeichen gesetzt werden. Anführungszeichen müssen in FileMaker-Formeln einen Backslash als Vorzeichen enthalten, damit sie als Anführungszeichen interpretiert werden können.

SQL-Beispiel

Sollen im unter „Beziehungen“ genannten Beispiel die Notizen einer bestimmten Adresse aufgerufen werden, lautet die SQL-Abfrage in FileMaker folgendermaßen:

SQLAusführen ( "SELECT Notiz FROM Notizen WHERE \"_Adress_Nr\"=" & Adressen::_Adress_Nr ; "" ; "¶" )

In diesem Beispiel ist zu sehen, wie das Feld <<_Adress_Nr>> von Anführungszeichen umschlossen wird, die in der FileMaker-Formel einen vorangehenden Backslash enthalten müssen.

Tiefergehende Informationen finden Sie beispielsweise in der Missing FileMaker 12 ExecuteSQL Reference auf filemakerhacks.com.

FileMaker Training und Coaching von goFileMaker

Sie möchten gerne tiefer in die Materie der Entwicklung von FileMaker-Datenbanken einsteigen oder haben bereits eine eigene FileMaker-Lösung, die Sie gerne weiterentwickeln möchten? Mit unseren Coaching- und Trainingsleistungen sind wir Ihnen gerne via Telefon und Fernwartung bundesweit bei der Entwicklung von FileMaker-Datenbanken behilflich. Im persönlichen Gespräch gehen wir gerne auf Ihre individuellen Anforderungen ein. Um ein FileMaker Coaching zu buchen, können Sie einfach die gewünschte Anzahl an Stunden in unserem Onlineshop bestellen und uns im Bestellkommentar Ihren Terminwunsch mitteilen. Gerne beraten wir Sie auch vorab per E-Mail unter info@gofilemaker.de.

Alle bisherigen Teile der Einführung FileMaker

Teil 1: Geschichtliche Hintergründe und Versionen

Teil 2: Praktischer Teil mit Erstellung einer Adressdatenbank

Teil 3: Layouts, Navigation, Schaltflächen, QR-Codes

Teil 4: Felder und Formeln, Beziehungen, Scripte, Custom Functions, Plugins, SQL

Diesen Beitrag bewerten:

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Bisher keine Bewertungen.)
Loading...

Über den Autor

Markus Schall
Entwicklung von FileMaker-Datenbanken seit 1994, Modifikation und Erweiterung von FileMaker-Lösungen, Konvertierung von FileMaker-Datenbanken von .fm, .fp3, .fp5 (FileMaker 2-6) oder .fp7 (FileMaker 7-11) zu .fmp12 (FileMaker 12-16), Schnittstellen zu Drittsystemen wie Onlineshops, CMS oder andere Datenbanken. Entwicklung individueller FileMaker-Datenbanksysteme auf Basis des gFM-Business-Frameworks mit persönlicher Beratung aus Oldenburg. Betreiber des Online-Fachportals goFileMaker.de, Entwickler des CRM- und Warenwirtschaftssystems gFM-Business. Mitglied in der FileMaker Business Alliance, FileMaker Developers Subscription und FMM Experte. Gewinner eines FMM Award 2011, vergeben durch das FileMaker Magazin.

1 Kommentar

  1. Tristan

    Ist wirklich eine super Einführung. Bietet einen tollen Überblick über die Funktionen und Möglichkeiten bei FM Pro. Vielen Dank für diesen Post.

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.