Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 4482-562 90 70
Mit der Funktion „Datensätze exportieren“ verfügt FileMaker im Script-Editor über eine sehr mächtige Funktion, Daten aus einer FileMaker-Datenbank in verschiedenen Formaten zu exportieren. Soll ein Datenexport jedoch als Textdatei, also beispielsweise als CSV exportiert werden, kann man mit FileMaker-Bordmitteln schon mal an Grenzen stoßen. Zum einen unterstützt FileMaker ausschließlich den Export von Textdateien, dessen Feldinhalte mit einem Tabulator oder mit einem Komma getrennt werden. Standardmäßig exportiert FileMaker Textdateien außerdem im UTF-16-Format, was nicht selten beim Import auf der anderen Seite für Probleme sorgen kann, da die meisten Systeme UTF-8 als Format voraussetzen. Setzt man die zu erstellende Datei in FileMaker z.B. mit einer Formel selbst zusammen, kommt es regelmäßig zu Problemen mit dem Zeilenende, da FileMaker keinen echten Zeilenumbruch einfügt. All diese Schwierigkeiten lassen sich ganz einfach umschiffen, indem man den Datenexport mit Hilfe des Base Elements Plugins selbst programmiert. In diesem Artikel zeigen wir, wie einfach das zu realisieren ist.
Unter Zuhilfenahme des Base Elements Plugins kann der gesamte Exportvorgang aus FileMaker heraus inklusive Dateiauswahl auf einfache Weise umgesetzt werden. Um einen Dialog zum Speichern einer neuen Datei anzuzeigen, fügen Sie in Ihrem Script den folgenden Befehl ein:
Variable setzen [$datei; Wert: BE_SaveFileDialog ("Titel"; "Dateivorgabe.csv"; "Dateipfadvorgabe")]
Der Benutzer kann nun wie bei der in FileMaker integrierten Exportfunktion zunächst durch sein Dateisystem navigieren und an einer beliebigen Stelle eine neue Datei erzeugen. Ist die ausgewählte Datei bereits vorhanden, erfolgt bereits betriebssystemseitig eine Abfrage, ob die vorhandene Datei ersetzt werden soll. Der Dateiname und -pfad befindet sich nach der Auswahl oder Angabe des Dateinamen in der Variable $datei und kann in den folgenden Scriptschritten weiterverwendet werden. Hat der Benutzer auf die Schaltfläche [Abbrechen] geklickt, ist die Variable $datei leer.
Im nächsten Schritt können nun bei Bedarf bereits die Feldbezeichnungen in die zu exportierende Datei geschrieben werden. Dies erfolgt mit dem Base Elements Plugin mit folgendem Befehl:
Variable setzen [$error; Wert: BE_WriteTextToFile ( $datei; "bez1;bez2;bez3 ... ¶" )]
Wichtig ist an dieser Stelle, den Zeilenumbruch am Ende der Feldbezeichnungen einzufügen. Nun können bereits die einzelnen Datensätze in die Datei geschrieben werden. Da der Export vollständig gescriptet wird, erfolgt das Schreiben innerhalb einer Schleife Datensatz für Datensatz.
Gehe zu Datens./Abfrage/Seite [Erste(r)]
Schleife (Anfang)
Variable setzen [$error; Wert: BE_WriteTextToFile ( $datei; Feld1 & ";" & Feld2 & ";" ... & "¶"; 1 )]
Gehe zu Datens./Abfrage/Seite [Nächste(r); Nach letztem beenden]
Schleife (Ende)
In unserem Beispiel haben wir das Semikolon als Feldtrennzeichen zwischen den Feldern verwendet. Selbstverständlich können Sie an dieser Stelle auch jedes beliebige andere Feldtrennzeichen verwenden. Wichtig ist auch hier der Zeilenumbruch am Ende der Zeile sowie der weitere Parameter „1“ des Befehls „BE_WriteTextToFile“. Dieser Parameter heißt „append“ und sorgt dafür, daß die Zeile zur bestehenden Datei hinzugefügt und die bestehende Datei nicht durch die Zeile überschrieben wird. Standardmäßig wird die Textdatei im UTF-8-Format exportiert. Mit dem Befehl „BE_SetTextEncoding“ können außerdem folgende andere Zeichenkodierungen verwendet werden:
ASCII, ISO-8859-{1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16}, KOI8-R, KOI8-U, KOI8-RU, CP{1250, 1251, 1252, 1253, 1254, 1257}, CP{850, 866, 1131}, Mac{Roman, CentralEurope, Iceland, Croatian, Romania}, Mac{Cyrillic, Ukraine, Greek, Turkish}, Macintosh, ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}, EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1, EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT, EUC-KR, CP949, ISO-2022-KR, JOHAB, ARMSCII-8, Georgian-Academy, Georgian-PS, KOI8-T, PT154, RK1048, ISO-8859-11, TIS-620, CP874, MacThai, MuleLao-1, CP1133, VISCII, TCVN, CP1258, HP-ROMAN8, NEXTSTEP, UTF-8, UCS-2, UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UTF-16, UTF-16BE, UTF-16LE, UTF-32, UTF-32BE, UTF-32LE, UTF-7, C99, JAVA, UCS-2-INTERNAL, UCS-4-INTERNAL, CP {437, 737, 775, 852, 853, 855, 857, 858, 860, 861, 863, 865, 869, 1125}, CP864, EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3, BIG5-2003, TDS565, ATARIST und RISCOS-LATIN1
Das Base Elements Plugin ist kostenlos erhältlich und steht für Mac OS X und Windows jeweils als 32-Bit- und als 64-Bit-Version zum Download zur Verfügung. Das Plugin verfügt mittlerweile über vielfältige Befehle in den folgenden Bereichen:
Alle Funktionen werden auf der Wiki-Seite des Plugins detailliert dokumentiert.
Wußten Sie schon, daß goFileMaker.de auch FileMaker Coaching und Training anbietet? Gerne sind wir Ihnen bundesweit per Fernwartung bei der Entwicklung oder Erweiterung Ihrer FileMaker-Lösung behilflich. Nehmen Sie bei Interesse gerne Kontakt mit uns auf!
Mit der neuen kostenlosen FileMaker Go Starterlösung für die Wohnungsinspektion bietet FileMaker eine einfache und komfortable Lösung für Immobilienmakler, Wohnungen unterwegs zu inspizieren und abzunehmen. Die Software bietet die Erstellung von Abnahme-, Übergabe- und Inspektions-Protokollen für Mietobjekte ortsunabhängig mit dem iPad. Die unterwegs erfassten Daten können im Anschluss mit der…
MonkeyBread Software veröffentlicht heute das FileMaker MBS Plugin 4.2, das mit inzwischen mehr als 2.500 Funktionen eines der größten FileMaker-Plugins darstellt. Die neue Version stellt unter anderem eine neue Schaltfläche im Script-Editor zur Verfügung, mit der Scripte mit Formatierungen in die Zwischenablage kopiert und in anderen Anwendungen weiter verwendet werden…
Das Dialog Plugin von Troi Automatisering ist ein Urgestein unter den FileMaker-Plugins, wird seit Jahren weiterentwickelt und gehört zu einem der meist verwendeten Plugins von FileMaker-Entwicklern. Denn die eingebaute Dialog-Funktion im FileMaker ist leider bis heute nicht sehr flexibel: Es lassen sich ein Titel, eine Meldung, bis zu drei Eingabefelder…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb
Dieser Artikel zeigt das Prinzip, wie Textdateien in jeder erdenklichen Form mit dem Base Elements Plugin exportiert werden können. Der gezeigte Export ist allerdings nicht 100% perfekt, weil auf die oben genannte Weise nach jeder Zeile ein Zeilenumbruch („¶“) generiert wird, also auch in der letzten Zeile. Dies läßt sich natürlich auch noch verhindern, indem im Befehl „Variable setzen“ innerhalb der Schleife
& „¶“ ersetzt wird durch
& Wenn(Hole(DatensatzPositionInErgebnismenge) < Hole(AnzahlGefundeneDatensätze); "¶"; "")