0

Einschränkung Auswahl verknüpfte Tabelle

Hallo zusammen :) ,

Ich habe von meiner Tabelle "Objekte" eine Verknüpfung zu der Tabelle "Interne Zuweisung" bei der ich die Auswahl einschränken möchte.

In der Tabelle "Interne Zuweisung" gibt es zwei Verknüpfungen einmal zum "Objekt" und einmal zu der Tabelle "Mitarbeiter". Sprich jeder Datensatz wird einem Objekt zugewiesen und einem Mitarbeiter.

Jetzt kann es aber vorkommen das es zu jedem Objekt mehrere Datensätze gibt bei dem der selbe Mitarbeiter öfters vorkommt.

Beispiel:

In meiner Einschränkung möchte ich aber das mir nur die Datensätze angezeigt werden bei dem das Objekt gleich ist und jeder Mitarbeiter nur 1. erscheint. 

also so:

die Datensätze anzeigen die zum entsprechenden Objekt gehören ist kein Problem

b.Objekte = a  

Auch das ganze in nem Funktionsfeld oder in der Ansicht darzustellen bekomm ich hin. Aber wenn ich das ganze bei der Einschränkung in einer Verknüpfung versuche komm ich an meine Grenzen :D 

Ich hab meine Unfähigkeit dann kompensiert, indem ich in der Tabelle "Interne Zuweisungen" ein fx-Feld erstellt habe und dort über eine Formel den Wert: 1 ausgegeben hab, für alle Datensätze die ich in der Auswahl anzeigen lassen will und den Wert 2 alle Datensätze die nicht angzeigt werden sollen, sprich Dopplungen usw...

In die Einschränkung hab ich dann

b.Objekte = a  and 'fx-Feld' = 1 geschrieben. 

Ich bin mir aber 100% sicher das das auch ohne extra Feld geht...

hat einer von euch eine Idee? 

 

Beste Grüße 

Martin

5 Antworten

null
    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Kannst du mal eine Muster-DB reinstellen mit Spieldaten.

      • Martin_Wackenhut
      • vor 1 Jahr
      • Gemeldet - anzeigen

       

      Hi Uwe :)

      hier die Datenbank hoffe das passt so.

       Neuer ZIP-komprimierter Ordner

    • UweG
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ich habe mir die DB mal angesehen und eine Verständnisfrage.
    Wozu soll diese Verknüpfung gut sein? Als Verknüpfung kann man damit nichts anfangen, da in der Untertabelle der ausgewählte Wert ja mehrfach vorhanden sein kann und man nicht weiss, welche einzelne Verknüpfung zur Untertabelle die Richtige sein soll.
    Wenn es nur darum geht die Verknüpfung als Darstellungsform zu benutzen im Sinne von: Hier soll nur dargestellt werden, welche Person aus der Untertabelle die/der Hauptverantwortliche ist, kann man mit einem dyn.Auswahlfeld arbeiten.
    Hier trägt man als 'dynamic Values' ein: 'Interne Zuweisung'.Mitarbeiter order by Nachname
    Als 'dynamic values name': Anrede + " " + Nachname
    Damit erhält man de Werte der Untertabelle nur einmalig zur Auswahl.

    Ansonsten musst du mit deinem Hilfskonstrukt weiterhin arbeiten, wenn du explizit diese Verknüpfung benötigst.

    Ich füge mal meinen Ansatz bei:
     

      • Martin_Wackenhut
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Hallo Uwe,

      erstmal vielen Dank für deine Hilfe :)

      Ich hab mir schon fast gedacht das die Frage kommt 😅, weil der Nutzen tatsächlich in der Muster-DB so nicht erkennbar ist. 

      Es gibt hauptsächlich zwei Gründe warum ich danach gefragt hab.
      Der erste Grund ist, das ich über mehrere solcher Verknüpfungen mit der selben Einschränkung bestimmte Funktionen dem Mitarbeiter zuweisen möchte. 

      Zum Beispiel. 'Mitarbeiter hat Schlüssel zum Objekt' und die nächste Verknüpfung würde dann z.B. 'Mitarbeiter ist für Termine zuständig' ... usw. davon gibt es mehrere...

      Zusätzlich wollte ich in der Tabelle 'Interne Zuweisung' ein Funktionsfeld Einrichten das für Jede Funktion ein Symbol ausgibt.

      so z.B. 

       

      Im Grunde genommen ist das Ganze auch anders möglich z.B. Mehrfachauswahlfeld usw. ... aber das ganze ist so viel viel praktischer, zumal sich die Funktionen der einzelnen Mitarbeiter auch hin und wieder mal ändern. 

      Der Zweite Grund ist das ich allgemein mal Wissen wollte wie man sowas in der Einschränkung formuliert. Also doppelte oder vielfache Werte auszuschließen und davon nur den ersten anzuzeigen. 

      Aber du hast Recht im nachhinein ist es besser dafür ein dyn. Auswahlfeld zu verwenden, dort ist es für mich auch wesentlich einfacher die Auswahl einzuschränken bzw. zu beschreiben, als über die Einschränkung der Verknüpfung. 😄 

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Das Problem bei der Einschränkung ist hier, dass man keine erfüllbare Bedingung bauen kann, deren Vergleich ohne Hilfsfeld auskommt.
      Natürlich kann man mit unique() das Array der Untertabelle auf der a.-Seite der Einschränkung zusammen stutzen.
      Aber womit wills du das vergleichen?
      Auf b.-Seite ist ja nichts ausgewählt in der Verküpfung.
      Jeder Eintrag der Untertabelle ist ja in dem unique-Array mindestens einmal enthalten und wo ist das Kriterium bei mehrfachen Vorhandensein, nur einen anzuzeigen und die Anderen auszublenden?
      Das fun ktioniert nur mit einem extra Zusatzkriterium in der Untertabelle, welches als Vergleich 'true/false' zurück gibt.