1

Einschränkung einer Verknüpfung funktioniert nicht

Tabelle "A" hat eine Untertabelle "B" als Komposition.

In den Records der Untertabelle B können Personendatensätze aus Tabelle C im Feld P ausgewählt werden.

Ziel soll es sein, dass in jedem Record der Tabelle A in den verknüpften Records der Tabelle B eine Person nur einmal ausgewählt werden kann.

Also zum Beispiel:

Record A1 -> Record B1 - Person C1

Record A1 -> Record B2 - alle Personen außer C1 auswählbar

Record A2 -> Record B3 - allen Personen wieder auswählbar

etc.

In den Einschränkungen der Verknüpfung zur Personenauswahl in Tabelle B wollte ich nun ein Einschränkungen einsetzen.

a (Tabelle B)

b (Tabelle C)

a.A.cnt(B[P = a.P]) = 0

 

Mein Ansatz funktioniert entweder nicht oder produziert erhebliche Ladezeiten. Vielleicht hat ja jemand einen guten Ansatz.

 

Vielen Dank vorab.

Ralf

7 Antworten

null
    • mirko3
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Ich habe versucht, das nachzustellen und bin davon ausgegangen, dass C eine Untertabelle von B ist. Wenn Tabellen und Verknüpfungsfelder jeweils A, B, C heißen, dann könntest Du mit 

    not contains(b.B.C, a.C)
    

    in der Tabelle B im Verknüpfungsfeld zu A weiterkommen. Mirko

      • Icarus_Ralf_Becker
      • vor 4 Monaten
      • Gemeldet - anzeigen

       C ist keine Untertabelle von B, sondern eine zentrale Tabelle mit Kundendatensätzen. Mit contains habe ich es auch versucht, aber keine Exklusion bei möglichen Dopplungen erreicht. Ich konnte die Person erneut auswählen. Dabei habe ich zwei unterschiedliche Ansätze verfolgt:

      not contains(b.B.A.Nr, a.A.Nr)
      
      not contains(a.A.B.P.Nr,b.Nr)

      Funktioniert aber nicht. Keine Ahnung, warum.

    • Icarus_Ralf_Becker
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Um das Thema mal etwas weniger abstrakt zu beschreiben, hier ein Bild:

    Man sieht, ich könnte jetzt Bernd Brot ein zweites Mal auswählen und das möchte ich verhindern.

      • mirko3
      • vor 4 Monaten
      • Gemeldet - anzeigen

      ist das Auswahlfeld für die Namen ein dchoice-Feld?

      • Icarus_Ralf_Becker
      • vor 4 Monaten
      • Gemeldet - anzeigen

       Nein. Eine klassische Verknüpfung als Combobox

    • Icarus_Ralf_Becker
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Fall gelöst! Mit:

    not contains(concat(b.'Sprünge'.Loads.Nr), text(a.Loads.Nr))
    

    geht es.

    • john_eans
    • vor 4 Monaten
    • Gemeldet - anzeigen

    Also ich hab das Problem, dass diese "Einschränkung" bei verknüpften Feldern teilweise (nicht immer, aber immer mal wieder) nur funktioniert, wenn bei "Feld anzeigen als" Pop-Up ausgewählt ist. Im Pupp sind dann tatsächlich nur die möglichen Datensätze enthalten. Wenn ich aber die Anzeige auf Combobox oder Switch stelle, wird garnichts mehr angezeigt.

    Vielleicht liegt es bei auch nur an der Anzeige. 🤷‍♂️