Aktualisierung bei Dblookup Dialogllistenfelder

  • Habe in einer Maske zwei berechnete Dialoglistenfelder, Kategorie (E_Kat) und Unterkategorie.
    Die Kategorie enthält folgende Formel:

    Code
    @DbColumn("";"":"";"Vorhandene Kategorien";1)


    Die Unterkategorie enthält folgende Formel:


    Code
    @Unique(@DbLookup("" : "NoCache"; ""; "Vorhandene Kategorien"; E_Kat; 2))


    Mein Problem:
    Wenn der Benutzer eine Kategorie auswählt, dann eine Unterkategorie, so passt alles, wenn er dann aber nochmals die Kategorie wechselt, so scheint in der Unterkategorie die ursprüngliche Kategorie auf.


    z.B.


    Feld Kategorie: Auto
    Feld Unterkategorie: Ford
    der Benutzer ändertt nun die Kategorie in Motorrad
    Feld Kategorie: Motorrad
    Feld Unterkategorie: Ford


    im Feld Unterkategorie sehe ich die Marke der Autos, nicht aber der Motorräder



    Wie schaffe ich es dass das Feld mit der Unterkategorie aktualisiert wird. In der Maske habe ich die Einstellung Felder automatisch aktualisieren eingestellt.

  • Zitat


    taurec schrieb:
    Indem du im Exiting Event des ersten feldes das zweite auf Leer setzt


    Das ist eine sehr unsichere Sache, da das Exiting-Event nicht immer zuverlässig ausgeführt wird.



    maria


    Setze beim Feld mit der Unterkategorie die Feld-Eigenschaft "Auswahl bei Dokumentenaktualisierung aktualisieren".



    Axel

  • der wert verschwindet auch nicht aus der liste! du hast ihn ja schliesslich ausgewählt.


    bei dem ersten feld muss aktiviert sein: felder aktualisieren bei schlüsselwort änderung


    bei dem zweiten: auswahl aktualisieren beim aktualisieren des dokuments


    (weis jetzt nicht genau wie die optionen genau heissen aber bei beiden feldern muss etwas angehakt sein!)



    das ganze hat den nachteil, das beim aktualisieren des dokumentes auch alle vorhandenen feldvalidiereungen durchgerechnet werden und dann möglicherweise fehlermeldungen ("feld ausfüllen ...") erscheinen.


    daher geht man teilweise dazu über die feldvalidierungen per script im query-save abzufangen. aber das nur zur info. hat ja nix direkt mit deinem problem zu tun.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Ok mit den zwei Einstellungen funktioniert es schon recht gut. Allerdings müsste der Wert der Unterkategorie gelöscht werden wenn ich die Kategorie erneut ändere.


    d.h.


    Ich wähle als Kategorie Auto aus
    In der Unterkategorie erscheint mir VW, Ford, Mercedes. Ich wähle VW


    Nun ändere ich die Kategorie auf Moped
    Im Feld Unterkategorie steht immer noch VW als Eintrag. Möchte dass hier dann nichts mehr aufscheint wenn die Kategorie geändert wurde

  • is nur so ne überlegung:


    in die eingabeumsetzung folgende formel:


    _liste := hier jetzt die formel aus dem 2ten feld rein;
    @If(@IsMember(feld2;_liste);feld_2;"")


    geht vielleicht auch noch etwas eleganter aber ich glaube das könnte funktionieren.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)