SQLQueryAusführen und Feldnamen mit Unterstrichen

FileMaker 12 beinhaltet mit „SQLQueryAusführen“ eine Funktion, die in der täglichen FileMaker-Praxis äußerst hilfreich ist. Sehr gut gebrauchen kann man diese Funktion zum Beispiel, um Wertelisten aus Feldwerten anderer Tabellen zu erstellen, ohne daß dafür eine Beziehung notwendig ist. Im Zusammenhang mit der von Arnold Kegebein in den FileMaker-Magazinen 201301 und 201302 vorgestellten Funktion „MagicValueList“ ergeben sich praktisch ungeahnte Möglichkeiten in Sachen FileMaker und Wertelisten.
Für diesen Zweck sind i.d.R. nur einfache SQL-Abfragen erforderlich wie beispielsweise SELECT Feldname FROM Tabelle WHERE Kriterium=xyz. Solche Abfragen funktionieren in FileMaker 12 anstandslos – zumindest, wenn die beteiligten Feldnamen keinen Unterstrich am Anfang enthalten. Viele FileMaker-Entwickler kennzeichnen jedoch Schlüsselfelder mit einem Unterstrich als Prefix, damit diese in den Felddefinitionen und im Beziehungsdiagramm ganz oben stehen. Leider befindet sich in allen bisherigen FileMaker-Versionen ein Fehler, der bewirkt, daß SQL-Abfragen mit solchen Feldnamen nicht funktionieren.
Ergebnis = „?“
Befindet sich am Anfang eines Feldnamens ein Unterstrich, liefert die Funktion „SQLQueryAusführen“ nur noch ein Fragezeichen als Ergebnis. Aber keine Angst: Es gibt Möglichkeiten, diesen Fehler zu umgehen.
Praxisbeispiel: Wir haben eine Kunden-Datenbank, mit der Adressen in einer weiteren Tabelle mit einer 1:n-Beziehung verknüpft sind. Die jeweilige Standardadresse des Kunden ist im Feld <<sta.Standard>> mit dem Wert „1“ markiert, alle weiteren Adressen enthalten diese Markierung nicht. Wenn wir nun die ID des entsprechenden Adreß-Datensatzes ausgehend aus der Kundendatenbank per SQL-Abfrage herausfinden wollen, würde die Abfrage lauten:
SQLQueryAusführen("SELECT _pk_Adress_ID FROM Adressen WHERE sta.Standard=1"; ""; "")
Diese Abfrage würde nicht funktionieren und nur ein Fragezeichen als Ergebnis liefern. Dies liegt allerdings nicht daran, daß ein Fehler in der SQL-Abfrage vorhanden wäre, sondern FileMaker scheint an dieser Stelle einfach den Unterstrich des Feldnamens <<_pk_Adress_ID>> nicht zu mögen.
Abhilfe schafft eine Quotierung des Feldnamens – vielen Dank an dieser Stelle für den entsprechenden Tipp aus dem Forum des FileMaker Magazins von Otmar Kramis. Wenn die Abfrage folgendermaßen modifiziert wird:
SQLQueryAusführen("SELECT \"_pk_Adress_ID\" FROM Adressen WHERE sta.Standard=1"; ""; "")
…dann funktioniert sie auch problemlos in FileMaker :-)
Nachtrag: Tipps zur robusten Entwicklung von SQL-Queries
Der FileMaker-Entwickler Robert Kaiser empfiehlt in einem weiteren Forenbeitrag einen Artikel von filemakerhacks.com, in dem beschrieben wird, wie SQL-Queries in FileMaker so entwickelt werden können, daß sie beispielsweise auch nach Umbenennung oder Änderung von Beziehungen oder Feldern korrekt funktionieren. Auch die geschilderten Probleme mit den Unterstrichen am Anfang von Feldnamen werden mit dieser Lösung beseitigt. Der englischsprachige Artikel beschreibt die Nutzung eigener Funktionen (Custom Functions), mit denen SQL-Abfragen in FileMaker extrem robust entwickelt werden können. Es lohnt sich also, in dieses Thema weiter einzusteigen :-)
Verwandte Beiträge
- Aktion: FileMaker 12 inklusive Trainingsmodule
In einer zeitlich begrenzten Aktion legt FileMaker ab sofort bei Kauf von FileMaker Pro 12 oder FileMaker Pro Advanced 12 kostenlos die FileMaker Trainingsmodule in deutscher Sprache dazu. Die deutschsprachigen Trainingsunterlagen enthalten Übungen, Demo-Dateien und Videos (in englischer Sprache), mit denen Sie lernen können, wie man professionelle benutzerfreundliche FileMaker 12-Datenbanklösungen entwickelt.…
- Aktion: FileMaker Pro zum halben Preis mit FileMaker Go.
Seit heute bietet FileMaker erneut eine Aktion an, bei der nach dem Kauf von FileMaker Go für das iPhone oder das iPad eine Lizenz von FileMaker Pro zum halben Preis erworben werden kann. Die Aktion gilt bis zum 22. März 2012 und geht ganz einfach vonstatten: Kaufen Sie FileMaker Go…
- Smartbook: Datenbankmanagement mit FileMaker Pro 11
Autor Horst-Dieter Radke bietet auf 368 Seiten eine profunde Einführung in die Arbeit mit FileMaker Pro 11 und macht dabei aus Einsteigern angehende Experten. Dabei beschäftigt sich der Autor mit diesen Themen: Datenbankgrundlagen: Was müssen die Leser über Datenbanken wissen? Datenbankentwicklung: Wie entsteht eine FileMaker-Datenbank? Datenbanken nutzen - Wie erfasst,…
- Update auf FileMaker Pro 13.0v9 veröffentlicht
FileMaker hat heute einige Sicherheitsupdates für FileMaker 13 veröffentlicht. In ca. zwei Wochen wird das Sicherheitsupdate auch für FileMaker 12 veröffentlicht. Das heute erschienene Update betrifft FileMaker 13 Pro/Advanced und FileMaker Server. FileMaker betont, dass die Updates auf jeden Fall in der korrekten Reihenfolge installiert werden müssen, weil anderenfalls FileMaker…
Diese Seite teilen:
ERP-Software so flexibel wie Ihr Unternehmen.
Wir beraten Sie gern.
Anpassbare ERP-Software für Mac, Windows und iOS.
