10 Antworten Neueste Antwort am Sep 11, 2016 4:19 AM von kip

    Popup mit Portal statt Werteliste

    kip

      Hallo,

       

      Ich stehe wieder gerade einmal auf dem Schlauch und würde mich über einen gedanklichen Anstoß sehr freuen.

       

      Ziel: Popup mit Portal und Suchfunktion als Alternative zu komplexen und langen Wertelisten

       

      Gegeben: Layout mit Popup und Portal, in dem ich eine Suchmaske für die Auswahl eines Kontaktes aus einer zweiten Tabelle eingesetzt habe. Die Suche läuft, aber es hakt beim Skript zur Übernahme der ID.

       

      Für das Portal habe ich folgende Beziehung aufgebaut:

       

      PROJEKTE                  ALLE KONTAKTE (basiert auf KONTAKTE)

      _ProjektID

      Kontakt_ID  < - - x - - > _KontaktID

       

      und für die Zuordnung des Kontaktes zum Projekt diese hier:

       

      PROJEKTE                  KONTAKTE

      _ProjektID

      Kontakt_A_ID  < - - = - - > _KontaktID

       

       

      Das Layout basiert auf „Projekte“.

      Im Popup wird ein Portal mit Daten aus „Kontakte“ angezeigt.

       

      Frage: Wie bekomme ich die _KontaktID des angeklickten Datensatzes im Portal ausgelesen und in das Feld Kontakt_A_ID in Tabelle „Projekte“ übertragen?

       

      Ich habe versucht, die ID vom Bezugsdatensatz auszulesen, scheitere da aber immer wieder kläglich.

       

      kip

        • 1. Re: Popup mit Portal statt Werteliste
          HLandschulz

          Hallo kip,

           

          wie äußert sich denn "die ID vom Bezugsdatensatz auszulesen, scheitere da aber immer wieder kläglich"?

          Wie versuchst Du die ID auszulesen und was passiert bzw. was passiert nicht?

           

          Heike

          • 2. Re: Popup mit Portal statt Werteliste
            kraemer@sky-data.de

            Entweder versteh ich die Frage nicht oder Du siehst den Wald vor lauter Bäumen nicht:

             

            Das "script" das beim Klick ausgeführt werden muss, wenn die KontaktID des Ausschnitts ausgelesen werden soll sähe ganz einfach so aus ....

             

            Variable setzen ($a; WERT: KONTAKTE::_kontaktID)

            Feldwert setzen (PROJEKTE::Kontakt_A_ID;$a)

            Schreibe Änderungen Datensatz

             

            Oder worum geht es?

             

            HTH

             

            Gerd

            • 3. Re: Popup mit Portal statt Werteliste
              kip

              Ich habe es ähnlich wie auf dem von Gerd (s.u.) beschriebenen Weg probiert:

               

              Variable setzen ($a; Wert: ALLE KONTAKTE::_KontaktID)

              Eigenen Dialog anzeigen: $a

               

              Das Ergebnis ist jedoch immer ein " ? "

               

              Meine Vermutung war, dass ich ALLE KONTAKTE ja aus einem Layout, das auf PROJEKTE basiert, heraus aufrufe und dass dort ja keine _KontaktID zu finden ist. Aber vielleicht habe ich mich auch gedanklich in dem unten genannten Wald total verlaufen ...

              • 4. Re: Popup mit Portal statt Werteliste
                kraemer@sky-data.de

                Mmmmhhh ... vielleicht haben wir wirklich ein grundlegendes Verständigungsproblem. Dein Ausschnitt, der in Deinem Layout angezeigt wird basiert auf dem TO "ALLE KONTAKTE"? "Wann" passiert denn das script, sprich: Die Schaltfläche oder was auch immer du klickst, ist schon in eben diesem Ausschnitt - also nicht auf dem Hauptlayout oder so?

                 

                In jedem Auftreten der Tabelle Kontakte (also auch in dem Auftreten "ALLE KONTAKTE") sind zwingend immer die gleichen Felder, also auch die KontaktID in der entsprechenden Zeile. Diese KontaktID muss auch auf dem Ausschnitt nicht sichtbar sein oder so. Sobald Du auf eine Zeile in diesem Ausschnitt klickst (und das Skript ausgeführt wird) erhält die Variable die richtige KontaktID.

                 

                Ein Tipp noch: Verkrampfe nicht mit kartesischen Verknüpfungen. Du hast in  der ersten dargestellten Relation, also die mit dem "x" als Verbindung, die Beiden KontaktIDs miteinander verknüpft das geht zwar auch, muss aber nicht sein und verwirrt ggf. Du kannst jedes Feld aus KONTAKTE mit jedem Feld aus PROJEKTE mit dieser Verknüpfungsart verbinden und wirst immer Zugriff auf alle Datensätze aus beiden Tabellen haben. Diese Art der Verknüpfung ist zwar schick, bremst aber an manchen Stellen auch ganz ungemein.

                • 5. Re: Popup mit Portal statt Werteliste
                  kip

                  Ja, der Ausschnitt basiert auf "ALLE KONTAKTE" (dort werden alle Namen aus Tabelle KONTAKTE angezeigt und können über ein Suchfeld gefiltert werden).

                   

                  Das Skript habe ich auf das im Ausschnitt angezeigte Feld (NAME) gelegt. Bei Klick auf den Namen soll die entsprechende ID aus dem Ausschnitt ausgelesen und im Hauptlayout (basiert auf PROJEKTE) in ein Feld eingetragen werden.

                   

                  Das Auftreten ALLE KONTAKTE (KONTAKTE) und die Verknüpfung mit dem "x" hatte ich nur erstellt, damit in dem Ausschnitt auch alle verfügbaren Personen zur Auswahl angezeigt werden.

                  • 6. Re: Popup mit Portal statt Werteliste
                    kraemer@sky-data.de

                    Alles richtig von der Beschreibung her. Mir fehlt ehrlich gesagt jede Idee, was da falsch laufen kann kann. Es ist weder eine besonders anspruchsvolle Aufgabe noch ein anspruchsvolles script .... hast du die Adv. und mal den Debugger laufen lassen? Du darfst mir auch gern mal die Datei schicken, wenn Du möchtest - ich schau da mal drüber. (Zur Erläuterung: Im aktuellen Filemaker Magazin habe ich einen Artikel veröffentlicht, in dem es im Wesentlichen um ein Prinzip geht, bei dem durch Tippen(weil für iOS gedacht), bzw. Klicken in Ausschnitte Daten übernommen werden - Mich würde WIRKLICH interessieren, was da bei dir nicht passt, weil ich eigentlich der Meinung war, jeden erdenklichen Fehler berücksichtigt zu haben. kraemer@sky-data.de

                    • 7. Re: Popup mit Portal statt Werteliste
                      HLandschulz

                      Ist das Feld NAME (auf dem das Script liegt) für den Blättern-Modus freigeschaltet?

                      Mach mal.

                       

                      Heike

                      • 8. Re: Popup mit Portal statt Werteliste
                        kraemer@sky-data.de

                        Ahhh ... klar. Das ist eine Möglichkeit, dass das Feld gesperrt ist. Diesen Tipp hatte ich gar nicht im Sinn, da ich für derlei Aufgaben keine Felder sondern Platzhalter benutze .... da stellt sich die Problematik nicht .... Allerdings würde ja bei einem nicht aktivierten Feld auch kein Dialogfeld angezeigt ....

                        • 9. Re: Popup mit Portal statt Werteliste
                          kip

                          Nej - gesperrt war das Feld leider nicht ...

                           

                          Gerd: ich schicke Dir die Datei gerne nachher einmal.

                          Nur nicht umfallen - ist viel Bastelei drin ;-)

                           

                          kip

                          • 10. Re: Popup mit Portal statt Werteliste
                            kip

                            ... der Fehler steckte dann doch wieder einmal im Detail:

                             

                            Richtig ist (wie geschrieben):

                            Variable setzen ($a;Wert: Unternehmen Bauherren::_Unternehmen_ID)

                            Du hattest

                            Variable setzen ($a;Wert: HoleFeldwert ( Unternehmen Bauherren::_Unternehmen_ID ))

                             

                            Die Funktion HoleFeldwert() hat eine andere Aufgabe und ist an dieser Stelle gänzlich unpassend … die hättest du einfach weglassen müssen  ;-)

                             

                            Danke auch noch einmal an dieser Stelle, Gerd !

                             

                            kip