Hier finden Sie weitere Artikel aus der Themensammlung Technik

11.10.16

Datenbankanwendungen

Individuelle Datenbanken einfach selber erstellen mit FileMaker

Eine neue Datenbank auf Basis einer FileMaker-Starterlösung erstellen

Um eine neue Datenbank zu erstellen, starten Sie zunächst das Programm „FileMaker Pro“ auf Ihrem Mac oder Windows-PC. Sollte diese Software noch nicht auf Ihrem Computer installiert sein, können Sie eine Demoversion von FileMaker Pro herunterladen, die für einen Zeitraum von 30 Tagen ohne Einschränkungen lauffähig ist.

Nach dem Start von FileMaker Pro erscheint das Fenster „FileMaker Direktstart“, in dem einige Optionen zur Erstellung neuer Datenbanken oder zum Öffnen vorhandener Datenbanken wählbar sind.

Um eine neue Datenbank auf Basis einer FileMaker-Starterlösung zu erstellen, klicken Sie auf die Schaltfläche [Starter-Lösung auswählen]. Im aufgerufenen Fenster werden Ihnen nun einige Starter-Lösungen angezeigt, auf deren Basis Sie eine neue Datenbank erstellen können.

In diesem Beitrag werden wir eine neue Datenbank auf Basis der Starter-Lösung „Kontakte“ erstellen. Anhand dieser Lösung zeigen wir Ihnen, aus welchen Komponenten eine FileMaker-Datenbank besteht und wie Sie diese für Ihre Zwecke anpassen können.

Um die Datenbank auf Basis der Starter-Lösung „Kontakte“ zu erstellen, klicken Sie auf die Schaltfläche [Aus dieser Starter-Lösung erstellen]. Die Datenbank wird daraufhin erstellt und automatisch auf dem Schreibtisch des angemeldeten Benutzers abgelegt. Selbstverständlich können Sie die Datenbank nach der Bearbeitung problemlos an einen beliebigen anderen Ort auf Ihrer Festplatte verschieben. Bitte berücksichtigen Sie, dass die Datenbank beim Verschieben an eine andere Position nicht in FileMaker Pro geöffnet sein darf, weil die Datei dann in Verwendung ist.

Nachdem die neue Datenbank erstellt wurde, öffnet sich die Datenbank sofort auf Ihrem Computer und ist bereit für erste Dateneingaben. Mit der Schaltfläche [Neuer Datensatz] in der Symbolleiste am oberen Rand des Fensters können Sie einen neuen Kontakt erstellen. Jeder gespeicherte Kontakt entspricht einem Datensatz in der FileMaker-Datenbank. In den angezeigten Datenfeldern können Sie sofort mit der Erfassung neuer Kontakte beginnen. Sobald Sie Daten in ein Feld eingetragen und das Feld verlassen haben, werden die Daten sofort in Echtzeit gespeichert. Eine zusätzliche Speicherung Ihrer Änderungen ist nicht erforderlich.

Im folgenden zeigen wir Ihnen, aus welchen Komponenten die neue Datenbank besteht und wie Sie beliebige Änderungen an der Datenbank durchführen können.

Tabellen und Felder in FileMaker

Jede relationale Datenbank enthält Datentabellen und Felder, in denen die gewünschten Daten gespeichert werden. Eine Tabelle kennzeichnet dabei sozusagen den übergeordneten Kontext der zu speichernden Daten und enthält die für die Datenspeicherung notwendigen Felder. Um Tabellen und Felder einer FileMaker-Datenbank zu definieren und zu bearbeiten, rufen Sie in der Menüleiste den Auswahlpunkt [Datei/Ablage > Verwalten > Datenbank] auf. Daraufhin erscheint ein Fenster, in dem sich alle zur Datenbank zugehörigen Tabellen, Felder und Beziehungen definieren lassen. Im oberen Bereich des Fensters kann mit Hilfe von Registerschaltflächen zwischen Tabellen, Feldern und Beziehungen umgeschaltet werden.

In jeder FileMaker-Datenbank können Sie beliebig viele Tabellen anlegen. Unsere Beispieldatei „Kontakte“ besteht lediglich aus einer Tabelle mit dem Namen „Kontakte“. In der Spalte [Details] wird angezeigt, wieviele Felder und Datensätze die jeweilige Tabelle enthält.

Unter der Registerschaltfläche [Felder] können Sie für jede Tabelle beliebig viele Datenfelder definieren. Da die einzutragenden Daten unterschiedlicher Natur sein können, erlaubt FileMaker die Erstellung folgender Feldtypen:

  • Text (Beliebige alphanumerische Texte)
  • Zahl (Zahlen in beliebigen Formaten wie Dezimal, Ganzzahl usw.)
  • Datum (Datumswerte)
  • Zeit (Uhrzeiten)
  • Zeitstempel (Kombination aus Datum und Uhrzeit)
  • Container (Beliebige Medien wie Bilder, PDF-Dateien usw.)
  • Formel (Feldberechnungen, ähnlich wie Formeln in Excel)
  • Statistik (Auswertungen aus anderen Feldern, z.B. Durchschnittswerte)

Schlüssel und Abgleichsfelder

In einer relationalen Datenbank wird im Regelfall jeder Datensatz durch einen eindeutigen Schlüssel gekennzeichnet. Dies erfolgt traditionell und auch in unserer FileMaker-Starter-Lösung durch ein Feld, in das bei der Erstellung eines neuen Datensatzes automatisch eine laufende Nummer eingefügt wird. In der Lösung „Kontakte“ heißt dieses Feld [KONTAKT_ID_ABGLEICHSFELD] und befindet sich direkt am Anfang der Feldliste. Ein solches Abgleichsfeld wird in der Fachsprache auch „Primärschlüssel“ genannt. Mit einem Doppelklick auf das Feld oder Klick auf die Schaltfläche [Optionen] nach Auswahl des Feldes wird ein Dialog geöffnet, in dem für das Feld weitere Einstellungen vorgenommen werden können.

Wie Sie sehen, wurde im Abgleichsfeld die Option [Fortlaufende Nummer] aktiviert, so dass in dieses Feld bei der Erstellung eines neuen Datensatzes automatisch eine fortlaufende und damit eindeutige Nummer eingefügt wird.

In diesem Dialog können auch weitere Feldoptionen aktiviert werden, wie beispielsweise das automatische Einfügen des Datums, der Uhrzeit, des aktiven Benutzernamens, des Wertes aus dem zuletzt besuchten Datensatz, fester Textwerte oder berechnete Werte aus einer Formel. Unter dem Register [Überprüfung] können Sie sicherstellen, dass in das ausgewählte Feld ausschließlich korrekte Daten eingetragen werden. So können Sie beispielsweise in einem Zahlenfeld festlegen, dass ausschließlich numerische Werte eingetragen werden dürfen und bei Eingabe von Textwerten eine entsprechende Meldung erscheint.

Beziehungen zwischen Datentabellen

Unter dem Register [Beziehungen] können Sie Verbindungen zwischen verschiedenen Datentabellen herstellen. Die Verknüpfung erfolgt dabei meist über die zuvor erläuterten Schlüssel bzw. Abgleichsfelder. Beziehungen sind elementare Bestandteile einer relationalen Datenbank. Da unsere Starter-Lösung „Kontakte“ lediglich über eine Datentabelle verfügt, können Sie zur Zeit noch keine Beziehung zu anderen Tabellen herstellen, sondern es wird lediglich die vorhandene Tabelle „Kontakte“ angezeigt.

Bei der Erstellung eigener Datenbanken benötigt man jedoch in der Regel weitere Daenfelder. Stellen Sie sich vor, Sie möchten zu jedem Kunden nicht nur Notizen in einem einzelnen Notiz-Feld eintragen können, sondern eine Aktionshistorie speichern, in der jede Notiz einen eigenen Eintrag mit Datum und Uhrzeit erhält. Da Sie zu jedem Kunden beliebig viele Notizen speichern möchten, benötigen Sie für die Notizen eine eigene Datentabelle, die Sie dann mit der Kontakt-Tabelle verknüpfen. Diese Vorgehensweise nennt man auch „1:n-Verknüpfung“. Damit FileMaker weiss, zu welchem Kundendatensatz eine Notiz in der anderen Tabelle gehört, muss das Abgleichsfeld für die Kontaktnummer ebenfalls in der Tabelle der Notizen vorkommen – dieses Feld wird in der Fachsprache auch „Fremdschlüssel“ genannt. Im nächsten Beitrag zeigen wir Ihnen im Detail, wie Sie mehrere Tabellen miteinander verknüpfen, um Daten relational speichern zu können.

Darstellung der Daten mit FileMaker-Layouts

Jede Datenbank benötigt eine Benutzeroberfläche, mit der ein Benutzer später Daten erfassen und bearbeiten kann. In unserer Starter-Lösung „Kontakte“ ist diese Benutzeroberfläche für die standardmäßig vorhandenen Daten bereits fertig eingerichtet. Selbstverständlich können Sie dennoch das gesamte Layout nach Ihren Vorstellungen vollständig anpassen oder erweitern. Um Änderungen am aktuellen Layout durchzuführen, wählen Sie in der Menüleiste den Auswahlpunkt [Ansicht > Layoutmodus], woraufhin das aktuelle Layout im Layoutmodus bearbeitet werden kann.

Im Layoutmodus werden keine Datensätze oder eingetragene Daten angezeigt, sondern alle Felder und andere Elemente, die sich auf dem Layout befinden. Alle auf dem Layout befindlichen Objekte können mit der Maus ausgewählt und verschoben oder skaliert werden. In der Symbolleiste stehen im Layoutmodus einige Symbole zur Verfügung, um neue Objekte zum Layout hinzuzufügen. Folgende Objekte stehen dabei zur Verfügung:

  • Text (fügt einen beliebigen Text zum Layout hinzu)
  • Linie (dient zum Hinzufügen einer Linie zum Layout)
  • Rechteck, abgerundetes Rechteck und Ellipse
  • Felder mit verschiedenen Eingabemethoden
  • Bearbeitungsfeld
  • Einblendliste
  • Einblendmenü
  • Markierungsfelder
  • Optionsfelder
  • Einblendkalender
  • Verschlüsseltes Bearbeitungsfeld (z.B. für Passwörter)
  • Taste (für die Belegung mit beliebigen Funktionen)
  • Popover-Taste (zur Darstellung von Popover-Dialogen)
  • Tastenleiste (für Navigationsleisten)
  • Registersteuerelement und Seitensteuerelement (mehrere Seiten zur Auswahl mit der Maus oder über Register)
  • Ausschnitt (zeigt Bezugsdatensätze in einem Ausschnitt)
  • Diagramm (erstellt ein Diagramm aus beliebigen Wertelisten)
  • Web-Viewer (zeigt HTML-Inhalte in einem Web-Viewer-Element an)
  • Bereichswerkzeug (dient zum Hinzufügen neuer Bereiche wie z.B. Kopfbereich, Auswertungsbereich oder Fußbereich hinzu)

Bei einem ausgewählten Objekt können Sie im Inspektor alle Optionen für das aktive Objekt bearbeiten und verändern. Der Inspektor kann in der Menüleiste unter dem Auswahlpunkt [Ansicht > Inspektor] ein- oder ausgeblendet werden. Es können auch mehrere Objekte markiert und gleichzeitig über den Inspektor bearbeitet werden. Je nach Art des Objektes können die verfügbaren Optionen im Inspektor variieren. Für Felder stehen im Inspektor beispielsweise folgende Optionen zur Verfügung:

  • Position (links, oben, rechts, unten, Breite und Höhe)
  • Automatische Größe (Anker für Größenanpassung bei Skalierung des Fensters)
  • Anordnen und ausrichten (dient zum Ausrichten mehrerer gewählter Objekte im Verhältnis zueinander)
  • Angleichung und Sichtbarkeit (entfernt Freiräume, wenn Felder keine Daten enthalten)
  • Gitter (blendet ein Gitternetz ein, um Objekte besser platzieren zu können)
  • Stil (Anzeigemodus des Feldes, z.B. Eingabefeld, Optionsfelder, Markierungsfelder, usw.)
  • Grafik (Füllung, Linie, Eckenradius, Außenschatten, Innenschatten, Innenabstand)
  • Text, Absatz und Tabulatoren
  • Bedingte Sichtbarkeit (Ausblenden bei bestimmten Ereignissen)
  • Eingabemethoden
  • Datenformat (Zahlen- oder Datumsformate)

Der Inspektor erlaubt außerdem, Einstellungen zu Designs und Stilen vorzunehmen sowie für mobile Geräte den Touch-Tastaturtyp auszuwählen.

Um den Layoutmodus wieder zu verlassen, wählen Sie in der Menüleiste den Auswahlpunkt [Ansicht > Blätternmodus]. In diesem Modus werden wieder die einzelnen Datensätze mit den eingetragenen Daten angezeigt. Wenn Sie Datensätze suchen möchten, klicken Sie in der Symbolleiste auf die Schaltfläche [Suchen] oder wählen in der Menüleiste den Auswahlpunkt [Ansicht > Suchenmodus]. Der Suchenmodus wird in allen Feldern mit einem kleinen Lupensymbol gekennzeichnet.

Automatisierung mit Scripten

Im vorhergehenden Teil des Beitrags haben Sie erfahren, wie Sie Tabellen und Felder erstellen sowie Layouts bearbeiten. Nun werden wir uns noch dem Scriptarbeitsbereich widmen, mit dem sich Scripte zur Automatisierung von Vorgängen, Layoutsprünge oder Scripte für sogenannte Script-Trigger erstellen und bearbeiten lassen.

Erklärung von Vorgängen, Layoutsprüngen und Script-Triggern praktisch?

Um ein neues Script in FileMaker zu erstellen oder zu bearbeiten, rufen Sie den Scriptarbeitsbereich in der Menüleiste unter dem Auswahlpunkt [Scripts > Scriptarbeitsbereich...] auf.

Daraufhin erscheint ein neues Fenster, in dem sich in der linken Spalte alle in der FileMaker-Lösung enthaltenen Scripte befinden. Die mittlere Spalte enthält den Inhalt des in der linken Spalte ausgewählten Scripts. In der rechten Spalte finden Sie alle Befehle, die Sie für die Erstellung eines Scripts verwenden können. Klicken Sie mit der linken Maustaste auf einen Scriptbefehl, um im unteren Bereich „Beschreibung“ eine Erläuterung des gewählten Befehls anzuzeigen. Alle Scriptbefehle sind zur besseren Übersicht in folgende Kategorien eingeteilt:

  • Steuerung (Steuerbefehle, z.B. Script ausführen, Bedingungen, Schleifen, Variablen setzen)
  • Navigation (z.B. bestimmte Layouts, Datensätze oder Felder aufrufen, Umschaltung des Anzeigemodus)
  • Bearbeitung (Befehle betreffend der Bearbeitung, z.B. Ausschneiden, Kopieren, Einfügen, Löschen)
  • Felder (Feldbefehle, z.B. Feldwerte setzen, Text, Bild oder PDF einfügen, Feldwerte durch andere Werte ersetzen, Feldwerte exportieren)
  • Datensätze (Datensatzbefehle, z.B. neuen Datensatz erzeugen, Datensätze duplizieren oder löschen, Datensätze importieren oder exportieren)
  • Ergebnismengen (Suchbefehle, z.B. Datensätze suchen, alle Datensätze anzeigen, Datensätze sortieren)
  • Fenster (Befehle zur Fenstersteuerung, z.B. neues Fenster, Fenster aktivieren, schließen oder anpassen, Symbolleisten oder Zoomstufe)
  • Dateien (Befehle aus dem Datei-Menü, z.B. neue Datei erzeugen, Datei öffnen oder schließen, Drucker einrichten, Drucken)
  • Konten (Befehle zu Benutzerkonten, z.B. Konto hinzufügen oder löschen, Passwort ändern, Konto aktivieren oder erneut anmelden)
  • Rechtschreibung (Befehle zur Rechtschreibprüfung)
  • Menüeintrag öffnen (Befehle für Menüeinträge aus FileMaker, z.B. Dateioptionen, Einstellungen, Datenbank verwalten usw.)
  • Verschiedenes (weitere Befehle, z.B. Dialogfeld anzeigen, Fehlerton, URL öffnen, Telefonnummer wählen, SQL ausführen, usw.)

Um einen Befehl zu einem Script hinzuzufügen, wählen Sie in der rechten Spalte den gewünschten Befehl aus und führen einen Doppelklick auf den Befehl aus. Daraufhin erscheint der neue Befehl am Ende Ihres Scriptes. Bei vielen Befehlen können Sie außerdem Parameter angeben, was der Befehl genau tun soll. Geben Sie beispielsweise beim Befehl „Gehe zu Layout“ an, zu welchem Layout der Befehl springen soll.

Jede FileMaker-Datenbank kann beliebig viele Scripte enthalten. Scripte müssen nicht jeweils für sich selbst ablaufen, sondern können mit sogenannten Script-Parametern auch miteinander kommunizieren und Daten übertragen. So können Sie beispielsweise Scripte erstellen, die bestimmte Daten als Parameter entgegennimmt, diese Daten im Script verarbeitet und bei Beendigung des Scripts einen Parameter zurückliefert. Im nächsten Beitrag zu FileMaker werden wir uns mit diesem Thema im Detail auseinandersetzen.

Hinzufügen eines Feldes in die Starter-Lösung

Zum Ende dieses Beitrags werden wir unsere Starterlösung um ein neues Feld erweitern, um eine Klassifizierung des Kontaktes nach A-, B- oder C-Kunde zu ermöglichen. Hierfür benötigen wir ein neues Feld „Klassifizierung“ in der Tabelle „Kontakte“ sowie eine Werteliste, aus der die drei möglichen Optionen ausgewählt werden können.

Um ein neues Feld in die Datenbank einzufügen, wählen Sie in der Menüleiste den Auswahlpunkt [Datei/Ablage > Verwalten > Datenbank]. Wählen Sie im Dialog die Registerschaltfläche [Felder] aus. Weil die Datenbank bisher nur eine Tabelle enthält, ist oben links unter [Tabelle]bereits automatisch die Tabelle [Kontakte] ausgewählt.

Tragen Sie nun unter [Feldname] den Namen des neuen Feldes ein, also „Klassifizierung“. Den Feldtypen belassen Sie auf dem Standardwert[Text] und klicken für die Erstellung des neuen Feldes auf die Schaltfläche [Erstellen]. Das neue Feld wird nun in der Liste aller Felder für die Tabelle [Kontakte] angezeigt.

Werteliste für das neue Feld erstellen

Damit der Benutzer für das Feld [Klassifizierung] später aus den verschiedenen Optionen A, B und C auswählen kann, benötigen wir hierfür eine neue Werteliste mit festen Werten. Wertelisten werden unter anderem für die Auswahl bestimmter Optionen in Feldern benötigt und können aus festen oder dynamischen Werten bestehen. Um eine neue Werteliste zu erstellen, wählen Sie in der Menüleiste den Auswahlpunkt [Ablage/Datei > Verwalten > Wertelisten] aus, woraufhin ein Dialogfenster für die Verwaltung von Wertelisten erscheint.

In unserer Starter-Lösung finden Sie bereits vier Wertelisten unter den Bezeichnungen Titel, Firma, Position und Gruppe. Dabei wird ersichtlich, dass die Wertelisten Titel, Position und Gruppe jeweils feste Werte enthalten, und die Werteliste [Firma] enthält dynamische Werte aus dem Feld [Kontakte::Firma]. Über diese Werteliste lassen sich also alle Firmennamen auswählen, die bereits in die Datenbank eingetragen wurden.

Um eine neue Werteliste zu erstellen, klicken Sie auf die Schaltfläche [Neu], woraufhin ein neuer Dialog zur Erstellung von Wertelisten erscheint.

Tragen Sie in das Feld [Wertelistenname] den Namen für die neue Werteliste ein, also „Klassifizierung“. Da es sich um eine Werteliste mit festen Werten handeln soll, tragen Sie unter [Spezialwerte verwenden] die drei Werte A, B und C ein, jeweils getrennt durch einen Absatz. Um die neue Werteliste zu speichern, klicken Sie auf die Schaltfläche [OK]. Bestätigen Sie auch den darunter liegenden Dialog mit [OK].

Feld als Optionsfeld mit Werteliste auf dem Layout platzieren

Als letzten Schritt platzieren wir nun unser neues Feld auf dem Layout der Datenbank. Wechseln Sie dazu in den Layoutmodus, indem Sie in der Menüleiste den Auswahlpunkt [Ansicht > Layoutmodus] auswählen. In der Symbolleiste wählen Sie nun das fünfte Symbol „Feld-/Steuerelementwerkzeug“ aus, woraufhin sich der Mauszeiger über dem Layout in ein kleines Kreuz verwandelt. Ziehen Sie nun mit gedrückter linker Maustaste einen Rahmen unter dem Feld [Nachname] in der linken Spalte auf, der in etwa die Größe der anderen Felder besitzen soll. Sobald Sie die linke Maustaste loslassen, öffnet sich das Fenster [Feld angeben], in dem Sie das neue Feld [Klassifizierung] auswählen und die Option [Beschriftung] aktivieren. Nachdem Sie den Dialog mit [OK] bestätigt haben, erscheint das neue Feld mit Beschriftung auf dem Layout.

Im letzten Schritt lassen wir das neue Feld als Optionsfeld mit unserer neu angelegten Werteliste erscheinen. Wählen Sie dazu das neue Feld mit der Maus aus und wechseln anschließend in den Inspektor.

Im Inspektor wählen Sie oben das vierte (letzte) Registersymbol „Daten“ aus und aktivieren daraufhin unter „Steuerelementstil“ die Auswahl[Optionsfelder]. Wählen Sie im darunter liegenden Popupmenü [Werte von] Ihre neu angelegte Werteliste „Klassifizierung“ aus. Das neue Feld[Klassifizierung] erscheint nun wie gewünscht als Optionsfeld mit den Optionen Ihrer neu angelegten Werteliste. Wechseln Sie nun wieder in den Blätternmodus, indem Sie in der Menüleiste unter [Ansicht] den Auswahlpunkt [Blätternmodus] auswählen. Ihr neues Feld steht ab sofort in der Datenbank zur Verfügung und kann in allen Datensätzen gepflegt werden.

Tabellen hinzufügen und Datenbanken miteinander verbinden

Wir freuen uns, dass Sie unserer kleinen Einführung in FileMaker Pro bis hierhin gefolgt sind. Im nächsten Teil werden wir Ihnen zeigen, wie Sie die Datenbank um weitere Tabellen und Felder erweitern können. Außerdem werden wir eine weitere Starter-Lösung mit unserer Datenbank verbinden, um unsere eingetragenen Daten auch in einer anderen Datenbank nutzen zu können.

Autor: Markus Schall

Markus Schall ist Inhaber des FileMaker-Fachportals gofilemaker.de und Entwickler der FileMaker-basierten Unternehmenssoftware gFM-Business mit CRM, Faktura und Warenwirtschaft und gFM-Dental für Zahnärzte. Als FileMaker-Entwickler verfügt Markus Schall über langjährige Erfahrungen seit 1998 mit FileMaker 4 und vermittelt sein Wissen im Rahmen von FileMaker Coaching und entsprechenden Schulungen.
Website des Autors
Markus Schall

Schlagworte zu diesem Artikel

Förderland-Newsletter

Wissen für Gründer und Unternehmer