6 Antworten Neueste Antwort am Sep 11, 2015 1:56 AM von kip

    Dynamische Werteliste (nochmal, aber anders)

    kip

      Hallo,

       

      ich habe gerade den Beitrag zur Dynamische Werteliste gelesen, da ich ein ähnliches Problem habe - aber leider habe ich noch keine Lösung für mich ableiten können - daher hier noch einmal eine neue - wahrscheinlich ziemlich simple - Frage:

       

      Ich habe eine Tabelle "Mitarbeiter", in der aktuelle und ausgeschiedene Mitarbeiter aufgelistet werden (Status-Spalte: aktiv, in Elternzeit, beurlaubt, ausgeschieden, Praktikant).

      In anderen Tabellen (zum Beispiel bei "Projekte") möchte ich per Werteliste auf die aktiven Mitarbeiter zugreifen können, um Mitarbeiter einem Projekt zuzuweisen.

      Leider habe ich es noch nicht geschafft, diesen "Filter" in die Werteliste einzubauen und würde mich daher über einen Tipp freuen.

      Da es sich wahrscheinlich um ein klassisches Problem handelt, das bereits dutzende mal diskutiert und gelöst wurde, wäre ich auch für einen Link dankbar. Die Schlagworte, die ich bisher in der Suche verwendet habe, haben mir leider bisher eher neue Fragezeichen aufgetischt ;-)

       

      viele Grüße,

      kip

        • 1. Re: Dynamische Werteliste (nochmal, aber anders)
          erolst

          Einfachste Lösung:

           

          Erstelle in Mitarbeiter ein Formelfeld, Typ Text!, als

           

          Falls ( Status = "aktiv" ; cVollständigerName )

           

          oder welches Feld auch immer du sehen möchtest.

           

          Die Werte in diesem Feld müssen eindeutig sein; bei Leuten mit identischen kompletten Namen erscheint nur der erste Eintrag in der Liste.

           

          Evtl. solltest du also ein berechnetes Namensfeld erstellen, das noch ein weiteres Feld (oder mehrere) verwendet, um ein eindeutiges Ergebnis zu erhalten.

           

          Dann definiere die Werteliste als

           

          1.Feld: Mitarbeiter::id, 2. Feld: Mitarbeiter::NeuesFormelfeld., Werte ur aus 2. Feld anzeigen

           

          Das ganze davon ausgehend, dass optimalerweise jede deiner Tabellen einen Primärschlüssel besitzt und deine Beziehungen über Primär-/Fremdschlüssel implementiert sind.

           

          Falls du zu dieser Art von Wertelisten mehr Informationen auf Deutsch sehen willst, solltest du wahrscheinlich nach „bedingter Werteliste“ suchen.

          • 2. Re: Dynamische Werteliste (nochmal, aber anders)
            kip

            Hallo erolst,

             

            vielen Dank für den Tipp ! Das wollte erst nicht klappen, weil ich den (zugegeben : deutlichen ;-) Hinweis "Text!" überlesen habe und als Option immer nur ein Fragezeichen angeboten wurde. Hat sich aber inzwischen geklärt.

             

            Aaaber: wenn ich auf diese Weise einen Mitarbeiter nach dem Eintrag in ein Projekt als "ausgeschieden" deklariere, wird nur noch seine ID angezeigt. Gibt es auch eine einfache Möglichkeit, diesen Fehler abzufangen, so dass auch zwischenzeitlich ausgeschiedene oder in Elternzeit befindliche Mitarbeiter bei Projekten eingetragen bleiben (und trotzdem bei aktuellen Projekten in der Werteliste nicht angezeigt werden)?

             

            kip

            • 3. Re: Dynamische Werteliste (nochmal, aber anders)
              kip

              Nachtrag: Mir ist gerade an anderer Stelle aufgefallen, dass das kalkulierte Feld "Mitarbeiter im Projekt" (calc_Mitarbeiter) jetzt keine Kürzel mehr anzeigt, sondern nur noch die IDs. Kann es da einen Konflikt mit der Werteliste geben?

               

              calc_Mitarbeiter hat in meiner Datenbank folgende Formel hinterlegt:

              Austauschen ( Liste ( Projekte_Mitarbeiter::Mitarbeiter_ID ) ; ¶ ; ", " )

              • 4. Re: Dynamische Werteliste (nochmal, aber anders)
                erolst

                kip wrote:

                Mir ist gerade an anderer Stelle aufgefallen, dass das kalkulierte Feld "Mitarbeiter im Projekt" (calc_Mitarbeiter) jetzt keine Kürzel mehr anzeigt, sondern nur noch die IDs.

                 

                Austauschen ( Liste ( Projekte_Mitarbeiter::Mitarbeiter_ID ) ; ¶ ; ", " )

                Was soll eine Funktion, die eine Liste von IDs erzeugt, sonst anzeigen? (Und der Inhalt einer Werteliste beeinflusst ja nicht den bestehenden Feldinhalt.)

                 

                Angenommen du hast

                 

                Projekte -- < MitarbeiterInProjekt >-- Mitarbeiter

                 

                dann sollte deine Formel lauten


                Austauschen ( Liste ( Mitarbeiter::cNameVollständig ) ; ¶ ; ", " )

                • 5. Re: Dynamische Werteliste (nochmal, aber anders)
                  erolst

                  Einfacher Workaround:

                   

                  Formatiere das ID-Feld (Mitarbeiter-Fremdschlüssel) als Aufklappliste (statt -menü); mach es sehr! schmal; füge das gewünschte Namensfeld aus „Mitarbeiter“ daneben hinzu, und mach es zu einer Taste mit dem Schritt Gehe zu Feld [ "ID_Mitarbeiter" ; Ausführen ].

                   

                  Damit siehst du den Namen unabhängig von der Werteliste, die (unabhängig von der Größe des ID-Feldes) in normaler Größe erscheinen sollte.

                  • 6. Re: Dynamische Werteliste (nochmal, aber anders)
                    kip

                    Autsch ;-) Danke! Irgendwie sind Datenbanken noch nicht so ganz meins - aber ich spiele mich langsam heran.

                     

                    Noch einmal vielen Dank für die Unterstützung - klappt wunderbar!

                    kip