SQLQueryAusführen und Feldnamen mit Unterstrichen

FileMaker Kurz-Tipp: SQL-Abfragen und FeldnamenFileMaker 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 :-)

Diesen Beitrag bewerten:

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Bisher noch keine Bewertungen vorhanden)
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.

Schreiben Sie einen Kommentar

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