1 2 Zurück Weiter 21 Antworten Neueste Antwort am Oct 28, 2015 6:28 AM von NorbertH

    Aktuelle Position ermitteln

    unkompliziert

      Hallo,

      habe folgendes programmier Problem:

      Ich habe im Portal eine Bezugstabelle und möchte dort einen Feldwert auslesen. Wie kann ich die aktuelle Position bzw. Datensatz ermitteln?

      Oder gibt es in Filemaker einen anderen Weg das zu erreichen, denn so wie oben beschrieben würde ich in einer Programmiersprache vorgehen.

       

      Freundliche Grüße

      unkompliziert

        • 1. Re: Aktuelle Position ermitteln
          NorbertH

          Erläutere doch mal was du Erreichen möchtest.

           

          Norbert

          • 2. Re: Aktuelle Position ermitteln
            unkompliziert

            Hallo,

            ich dachte das hätte ich mit meinem ersten Beitrag getan?

            Gut, ich versuche das nochmals laienhaft darzustellen, vielleicht benutze ich Begriffe die es in Filemaker nicht gibt, da sei mir bitte verziehen.

             

            Ich habe 2 Tabellen nenne wir sie Tab.A (Haupttabelle) und Tab.B (ist mit der Tab.B gekoppelt = Bezugstabelle).

            Im Layout der Tab.A habe ich innerhalb eines Ausschnitts bzw. Portal die Tab.B integriert.

            Die Tab.B (im portal) hat ein Containerfeld worin ich PDF-Dokumente ablege.

            Ich möchte nun von der Tab.B den Inhalt des Containerfeldes in den Containerfeld der Tab.A kopiren.

             

            Das klappt bis dahin auch ganz gut, jedoch wird immer nur der Inhalt des Containerfeldes, des ersten Datensatz der Tab.B kopiert. Desshalb brauche ich eine Funktion, die beim Kopieren die aktuelle Position bzw. eben Datensatznummer mitgibt, damit auch der von mir gewünschte Containerfeld-Inhalt kopiert wird.

             

            Hoffe das es jetzt etwas bildlicher dargestellt ist und danke schon mal im Voraus für die Beiträge.

            • 3. Re: Aktuelle Position ermitteln
              erolst

              unkompliziert wrote:

              Das klappt bis dahin auch ganz gut, jedoch wird immer nur der Inhalt des Containerfeldes, des ersten Datensatz der Tab.B kopiert. Desshalb brauche ich eine Funktion, die beim Kopieren die aktuelle Position bzw. eben Datensatznummer mitgibt, damit auch der von mir gewünschte Containerfeld-Inhalt kopiert wird.

               

              Kopieren ist in einem relationalen System meistens nicht die richtige Lösung.

               

              Warum willst du den Containerinhalt kopieren?

              • 4. Re: Aktuelle Position ermitteln
                NorbertH

                Hallo unkompliziert,

                 

                zb mit:

                 

                Hole(AktivesFeldName) wird dir der Name des Aktiven Feldes „Angezeigt oder in eine Variable gelegt etc.

                 

                Hole(AktivesFeldInhalt) wird der Feld Wert des Aktiven Feldes „Angezeigt oder in eine Variable gelegt etc.

                 

                Hole(AktiveAusschnittZeileNr) wird dir die Aktuelle Zeile im Ausschnitt „Angezeigt oder in eine Variable gelegt etc.

                 

                Norbert

                • 5. Re: Aktuelle Position ermitteln
                  erolst

                  Dann ist es natürlich einfacher, einfach eine Taste in den Ausschnitt zu legen mit

                   

                  Feldwert setzen [ TabelleA::container ; TabelleB::container ]

                   

                  In Augenblick des Klicks ist der Bezugsdatensatz von Tabelle B die angeklickte Ausschnittzeile, man bekommt also automatisch den richtigen Wert, ohne wissen zu müssen, woher er kommt …

                   

                  Änder aber nichts daran, dass man sich beim Kopieren erst fragen sollte: muss ich hier wirklich kopieren?**

                   

                  Z. B. könnte ein zweiter Ausschnitt, gefiltert mit der ID der angeklickten Zeile im ersten Ausschnitt, es auch tun …

                   

                  ** Jaja, viele (FileMaker) Programmierer können nie einfach eine Frage beantworten, sondern müssen immer erst eine Grundsatzdiskussion anzetteln … aber heißt es nicht bereits in der Schrift: „Gib' angehenden Codern nicht, was sie wollen, sondern was sie brauchen!“ ?

                  • 6. Re: Aktuelle Position ermitteln
                    unkompliziert

                    Z. B. könnte ein zweiter Ausschnitt, gefiltert mit der ID der angeklickten Zeile im ersten Ausschnitt, es auch tun …


                    Das wäre natürlich ideal und auch nachvollziehbar, aber irgendwie funktioniert das bei mir nicht. Ich erstelle einen zweiten Ausschnitt und stelle im Dilaogfenster "Ausschnitteinstellung" Ausschnittdatensätze filtern das Feld ID der im Beispiel genannten Tab.B (die Tabelle di im ersten Ausschnitt ist). Es tut sich nichts, muss ich irgendwas aktuallisieren damit es im Formular angezeigt wird, was mach ich falsch?

                    • 7. Re: Aktuelle Position ermitteln
                      erolst

                      unkompliziert wrote:

                      Es tut sich nichts, muss ich irgendwas aktuallisieren damit es im Formular angezeigt wird

                       

                      Schon … die Filterbedingung “TabelleB::id” würde dir immer nur den ersten Datensatz anzeigen. Du musst dir die Auswahl irgendwo „merken“

                       

                      Probier mal:

                       

                      Schreibe als Filterbedingung für Ausschnitt 2 (A2):

                      TabelleB::id = $$ausgewählt

                       

                      Setze eine Taste in A1

                       

                      Schreibe ein Skript mit:

                       

                      Setze Variable [ $$ausgewählt ; TabelleB::id ]

                      # [ FM<14: Fenster aktualisieren [ Join-Cache löschen ] ]

                      # [ FM 14: Ausschnitt aktualisieren [ "objektNameVonA2" ] ]

                       

                      und weise der Taste das Skript zu.

                       

                      Das Ganze setzt natürlich voraus, dass deine Datensätze in Tabelle2 alle eine eindeutige ID haben.

                      • 8. Re: Aktuelle Position ermitteln
                        NorbertH

                        Wofür Willst du eigentlich Kopieren oder auch die Zuweisung der PDF zur Tabelle A........

                         

                        Ich gehe davon aus das die TabelleA mit TabelleB in Beziehung zu einander steht über eine ID.

                        Somit ist doch eine Zuordnung nicht mehr Notwendig.

                         

                        Ausser du hast in TabelleB div. PDF - Dokumente und möchtest das ein oder andere PDF der TabelleA zu ordnen, wobei mir sich dann die Frage stellt ob eine PDF auch div. Datensätzen der TabelleA zu geordnet werden sollen/können.

                         

                        Anbei eine kleine EINFACHE DB

                         

                        Norbert

                        • 9. Re: Aktuelle Position ermitteln
                          unkompliziert

                          ja, das funktioniert jetzt fast wie ich es wollte. Was noch nicht funktioniert ist, die PDF-Datei im 2 Ausschnitt wird nicht angezeigt, "interaktiv Inhalt" ist aktiviert, es wird lediglich der Name der PDF-Datei angezeigt.

                          • 10. Re: Aktuelle Position ermitteln
                            unkompliziert

                            Hallo Norbert,

                            dein Beispiel habe ich umgesetzt und es funktioniert auch wie gewollt. Der Lösungsansatz von erolst jedoch ist um Grunde etwas besser denke ich, weil ich hierbei keinen zusätzlichen Containerfeld in der Tab.A brauche. Aber leider wird da nicht der Inhalt der PDF-Datei im Container angezeigt. Ich komm auch nicht dahinter warum die Containerinhalte mal angezeigt werden und mal nicht. Auch gibt es anscheinend keine Möglichkeit den Containerinhalt auch von der Festplatte über Filemaker zu löschen. Selbst der Filemaker Support kennt hierfür keine Lösung.

                            • 11. Re: Aktuelle Position ermitteln
                              NorbertH

                              Hallo unkompliziert „haben dir deine Eltern wirklich diesen Namen gegeben“

                               

                              Wenn ich den Vorschlag von „erolst“ richtig Verstanden habe gilt die Zuweisung der PDF nur für die Laufzeit der DB da die ID nicht in einem Feld gespeichert wird sondern „nur“ in einer Variable.

                               

                              Alternativ könntest du auch ein Feld in TabelleA anlegen als Zahlenfeld dort hinterlegst du die ID der PDF.

                               

                              Das Icon im Ausschnitt belegst du mit einer Bedingten Formatierung:

                               

                              TabelleA_PDF_ID = TabelleB_ID

                               

                              kannst du das Icon auf Grün schalten lassen sonst Normal Grau…..

                               

                              Wie du siehst gibt es unterschiedliche Möglichkeiten dein „Problem“ zu Lösen. Darum wird auch oft Nachgefragt was man Erreichen möchte oder warum man es so machen Möchte...

                               

                              Du könntest auch eine Self Join Beziehung erstellen, es gibt sicherlich noch andere Möglichkeiten.

                               

                              Du kannst aus FM heraus keine Datei auf der Festplatte löschen…..

                              Hier gibt es aber PlugIns komm jetzt nicht auf den Namen des PlugIns, wird Nachgeliefert.

                               

                              Inhalt der PDF anzeigen; Da finde ich jetzt auch keine Lösung habe letztlich das selbe Problem wie du mal ja mal Nein ::::.

                               

                               

                               

                              Norbert

                              • 12. Re: Aktuelle Position ermitteln
                                unkompliziert

                                Hallo unkompliziert „haben dir deine Eltern wirklich diesen Namen gegeben“

                                unkompliziert ist der Benutzername sowie NorbertH oder erolst.

                                 

                                Leider kann ich das jetzt nicht ganz nachvollziehen, ist es möglich, dass du mir das anhand deines Beispiels schicken kannst?

                                • 13. Re: Aktuelle Position ermitteln
                                  NorbertH

                                  Hier die Info zum PlugIn : MBS Real Studio Plugin Tutorial Videos

                                   

                                  unkompliziert ist der Benutzername sowie NorbertH oder erholst. Nicht alles Ernst nehmen......


                                  Norbert



                                  • 14. Re: Aktuelle Position ermitteln
                                    NorbertH

                                    Hier meine etwas geänderte DB...

                                     

                                    Norbert, der jetzt ins Bett geht und Schläft......

                                    1 2 Zurück Weiter