1 2 Zurück Weiter 17 Antworten Neueste Antwort am Dec 29, 2016 5:57 AM von erolst

    Datensätze extrahieren

    Nani

      Hallo zusammen,

       

      eine einfache Frage:

       

      Ich habe ein Skript geschrieben, zum extrahierten von Datensätzen. Lasse ich das Skript laufen, muss ich am Ende einen Dateinamen für die extrahierte Datei eingeben. Kann man es einrichten, dass dieser Dateiname automatisch eingegeben wird. Ich möchte als Dateinamen den Namen der Filemaker-Datei haben.

       

      Vielen Dank für eure Antworten

        • 1. Re: Datensätze extrahieren
          Tanner

          Also Du meinst, die Datensätze in eine pdf-Datei schreiben? In diesem Fall wie folgt:

           

          Datensätze als PDF speichern [Ohne Dialogfeld;  ZeichenLinks (Hole ( DateiName ); Position (Hole ( DateiName ); "."; 1; 1)-1) & ".pdf"; Alle aufgerufenen Datensätze]

           

          Gruß

          Tanner

          • 2. Re: Datensätze extrahieren
            erolst

            Da hättest du aber ein Problem, wenn der Dateiname mehr als einen Punkt enthält ...

             

            SetzeVars ( [

              name = Hole ( DateiName ) ;

              dotCount = MusterAnzahl ( name ; "." ) ;

              lastDot = Position ( name ; "." ; 1 ; dotCount )

              ] ;

              ZeichenLinks ( name ; lastDot - 1 )

            )

             

            Das ist allerdings akademisch, weil Hole ( DateiName ) ohnehin den Namen ohne Erweiterung zurückgibt. Es genügt also:

             

            Hole ( DateiName ) & ".pdf"

            • 3. Re: Datensätze extrahieren
              Nani

              Und wo gebe ich das ein?

               

              Wenn ich das Script erstelle, dann komme ich irgendwann zu dem Punkt wo ich den Dateienamen eingeben muss und anschließend auf Speichern klicken muss.

               

              Wenn ich diese Script dann ausführen dann speichert FileMaker mir das extrahierte Dokument immer unter dem gleichen Dateinamen.

              • 4. Re: Datensätze extrahieren
                Nani

                Noch eine Anmerkung zur ersten Antwort. Die extrahierte Datensätze möchte ich in einer HTML Datei speichern.

                • 5. Re: Datensätze extrahieren
                  erolst

                  Berechne den Dateinamen, speichere ihn in einer Variablen und gib diese als Ausgabepfad an, etwa so:

                   

                  Setze Variable [ name: $pfad ; Berechnetes Ergebnis/Angeben: Hole ( DateiName ) & ".html" ]

                  Datensätze exportieren [ andere Optionen: ... ; Ausgabedatei/-pfad: $pfad ]

                   

                  Das wird dir das neu erzeugte Exportdokument natürlich auch immer unter demselben Namen speichern ...

                  • 6. Re: Datensätze extrahieren
                    Nani

                    Hi nochmal,

                     

                    ich habe jetzt zwei Stunden probiert. Leider kann ich das nicht richtig umsetzen, was du geschrieben hast. Ich weis nicht wo der Fehler liegt. Kannst du mir noch einmal genau schreiben, was ich in die beiden Fenster einsetzen muss? So dass ich es eigentlich hier aus dem Forum rauskopieren kann.

                     

                    eins.JPG

                     

                    zwei.JPG

                     

                     

                    Vielen Dank für deine Mühe und Geduld.

                    • 7. Re: Datensätze extrahieren
                      erolst

                      Hoffe, die folgenden Screenshots machen es klarer (auch wenn sie von einem englischsprachigen System stammen):

                       

                      Screen Shot 2016-12-22 at 10.10.31.png

                       

                      Screen Shot 2016-12-22 at 10.10.47.png

                      • 8. Re: Datensätze extrahieren
                        Nani

                        ABSOLUT HERVORRAGEND ! ! !

                         

                        Vielen Dank für die kompetente Hilfe.

                        • 9. Re: Datensätze extrahieren
                          Nani

                          Wenn ich noch zwei zusätzliche fragen stellen darf? Eine davon wahrscheinlich ganz einfach zu lösen.

                           

                          Die html-Datei wird jetzt im gleichen Ordner generiert, wie die original Filemakerdatei. Wie kann ich es erreichen, dass die html-Datei im Verzeichnis c:/user/ap1/desktop/Zuweisung abgespeichert wird?

                          • 10. Re: Datensätze extrahieren
                            erolst

                            Wenn ich richtig verstanden habe, musst du dass hier bei der Variablen-Definition angeben:

                             

                            Hole ( DesktopPfad ) & "Zuweisung/" & Hole ( DateiName ) & ".html"

                             

                            Beachte hierbei, dass der Ordner „Zuweisung“ schon existieren muss; FileMaker legt ihn nicht für dich an, wenn er nicht existiert.

                            • 11. Re: Datensätze extrahieren
                              Nani

                              Wunderbar! Das hat auch gut funktioniert. DANKE.

                               

                              Ich habe auf dem Desktop einen Ordner erstellt mit dem Namen PRINTOUT und dort wird die html-Datei auch sauber hineinexportiert.

                               

                              eins.JPG

                               

                              Jetzt habe ich den Ordner auf meinen Server (Laufwerk G) verschoben und den Pfad entsprechend angepasst. Dann kommt aber diese Fehlermeldung.

                               

                              zwei.JPG

                               

                              Hier noch meine Verzeichnisstruktur

                               

                              drei.JPG

                               

                              Wo liegt der Fehler???

                              Mich wundert es auch, dass ich nur "Desktop" eingeben muss und nicht den Pfad wie im DOS früher mit c:/user/ap1/Ordnername und so weiter etc...

                               

                              Was ist das für eine Programmiersprache? Oder sind das alles vorgefertigte Bausteine von Filemaker?

                              • 12. Re: Datensätze extrahieren
                                kraemer@sky-data.de

                                Ganz SOOOO einfach ist es dann doch nicht. Mit Erolst Hilfe hast du jetzt zwar ein Problem gelöst, allerdings den Lösungsweg wohl nicht so ganz verstanden (was am Anfang ganz normal ist). Dein Hole(Datenpfad) ist zwar drollig gemeint, aber keine Funktion von FM ... denn: Woher soll das Scheisserchen denn wissen, WELCHEN Datenpfad du meinst, bei der Menge an Pfaden und Daten auf so einem Rechner ...;-)

                                 

                                Generell gibt es einige FUNKTIONEN, die dir einen Überblick ermöglichen, also zB Hole(Dateiname) was du ja schon kennst oder auch Hole(DesktopPfad), dann auch zB Hole(FilemakerPfad) (Das Ergebnis ist der Pfad, in dem Filemaker liegt bzw. ausgeführt wird), dann gibt es Hole(Dateipfad)(Hier erfährst Du, in welchem Verzeichnis sich die von dir geöffnete Datei befindet) ausserdem zB noch Hole(TemporärerPfad), Hole(EinstellungenPfad), Hole(Dokumentenpfad) .... All das sind Funktionen, die es in Filemaker gibt .... die komplette Funktionsliste findest du in der Onlinehilfe, den Teil mit den Hole-Funktionen zB hier.

                                 

                                Das sind in FM integrierte Funktionen, deren Ergebnis du in Scripts oder Scriptschritten (zB "Exportiere Datensätze") verwenden kannst. Also ganz simpel: eine Funktion liefert ein Ergebnis, ein script führt dann ggf. etwas mit/für/durch dieses Ergebnis aus .... DAS ist Filemaker.

                                 

                                Wenn Du etwas - wie in Deinem Fall - in ein vollkommen anderes Verzeichnis speichern willst, also weder in das Verzeichnis in dem zB. die Filemaker-Datei liegt noch in das "Standard-Dokumenten-Verzeichnis" oder so, dann musst Du auch keine Funktion verwenden um eben diesen Wert zu ermitteln. Schreib einfach genau diesen Pfad, den du brauchst, genau so in die Variable ... Aber an dieser Stelle steige ich aus, da es grundlegende Unterschiede zwischen Deinem Windows und meinem Mac-System gibt und ich dich nicht verwirren will.  Aber: Schau ruhig mal nach den Beispielpfaden (Manchmal lohnt es sich, Dialogfenster richtig anzuschauen ;-)) und probier ein bisschen rum.

                                 

                                HTH

                                 

                                Gerd

                                 

                                Bildschirmfoto 2016-12-22 um 17.39.21.png

                                • 13. Re: Datensätze extrahieren
                                  kraemer@sky-data.de

                                  wenn  ich es richtig versteh mit windows (also ohne Gewähr oder es ausprobieren zu können) sollte deine Variable $pfad ungefähr so aussehen:

                                   

                                  "filewin:/G:/Printout/"&hole(Dateiname)&".html"

                                  • 14. Re: Datensätze extrahieren
                                    Nani

                                    Hallo Gerd,

                                     

                                    danke für die ausführliche Beschreibung. Ich habe deine Anweisungen befolgt:

                                     

                                    eins.JPG

                                     

                                    Leider bekomme ich aber jetzt folgende Fehlermeldung:

                                     

                                    zwei.JPG

                                     

                                    Die Funktion "Variable setzen" habe ich rausgeschmissen.

                                     

                                    Gleiche Fehlermeldung kommt aber auch, wenn ich zuvor eine Variable setze, wie folgt:

                                     

                                    drei.JPG

                                     

                                    Wo ist der Fehler???

                                    1 2 Zurück Weiter