@If und Picklist ?

  • Hallo Leute,
    in meiner Maske habe ich eine Schaltfläche. Klick' ich drauf soll eine ganz einfache Abfrage gemacht werden, wenn der @UserName in der Ansicht "VG+MA" vorhanden ist, sollen alle Einträge per Picklist angezeigt werden , die unter diesem Vorgesetzten stehen. Aber nur seine Mitarbeiter. Ansonsten kommt eine Fehlermeldung.


    @If(
    @UserName = @DbLookup( "" : "NoCache" ; "" : "" ; "VG+MA" ; Name; [color=00CC00]2[/color]);
    @PickList([Custom] : Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;
    "TEXT" ; 5);
    @Failure("irgendeine Fehlermeldung");


    Die Ansicht VG+MA ist kategorisiert. 1.Spalte steht der Vorgesetzte, 2.Spalte steht sein Mitarbeiter.
    Ich bekomme jetz immer eine Fehlermeldung, dass vor der [color=00CC00]2[/color]eine linke Klammer erwartet wird.
    Kann mir jemand sagen wo der Fehler steckt?


    Funktioniert diese Abfrage überhaupt, oder gibt es noch einen anderen Weg?
    Ich danke Euch schon mal
    Karin

    • Offizieller Beitrag

    @If(
    @UserName = @DbLookup( "" : "NoCache" ; "" : "" ; "VG+MA" ; Name; 2);
    @PickList([Custom] : [color=CC0000][[/color]Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;
    "TEXT" ; 5);
    @Failure("irgendeine Fehlermeldung");


    Dir fehlt die eckige Klammer bei Single.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Ganz einfach Name ist eine Funktion die Parameter verlangt.
    Prinzipiell würde ich das aber anders aufbauen:



    _RESULT := @DbLookup( "" : "NoCache" ; "" : "" ; "VG+MA" ; Name; 2);
    @If(@IsError(_RESULT);@Do(@Failure("irgendeine Fehlermeldung");@Return("");"");
    @PickList([Custom] : [Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;
    "TEXT" ; 5);

    • Offizieller Beitrag

    taurec meinte bestimmt:
    _RESULT := @DbLookup( "" : "NoCache" ; "" : "" ; "VG+MA" ; @UserName; 2);


    */edit
    Je nach Inhalt Diener Ansicht "VG+MA" musst Du anstelle des @UserName ein @Name([...];@Username) einfügen.


    habs auch übersehen ;)


    Gruß
    Dirk

  • Dirk: die linke Klammer ist nur beim kopieren verloren gegangen.


    taurec: das funktioniert auch nicht. er meckert immer noch. Vor der 2 will er eine linke Klammer haben.
    ist denn Name an dieser Stelle falsch?


    Karin

    • Offizieller Beitrag

    Name verlangt Parameter schaus Dir mal in der Designer-Hilfe an.


    Gruß
    Dirk

  • Also meine gesamte Formel sieht so aus:


    _RESULT := @DbLookup( "" : "NoCache" ; "" : "" ; "VG+MA" ; @UserName; 2);


    @If(@IsError(_RESULT);@Do(@Failure("irgendeine Fehlermeldung");@Return("");"");
    @PickList([Custom] : [Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;"TEXT" ; 5);


    FIELD txtvollname :=
    @DbLookup("Notes" : "NoCache"; ""; "Mitarbeiter Auswahl"; FuerWen; "ProfilName");


    FIELD TestPers :=
    @DbLookup("Notes" : "NoCache"; ""; "Mitarbeiter Auswahl"; FuerWen; "ProfilPers");


    FIELD TestKost :=
    @DbLookup("Notes" : "NoCache"; ""; "Mitarbeiter Auswahl"; FuerWen; "ProfilKost");


    @Command([ViewRefreshFields])



    Fehlermeldung bekomme ich jetzt beim ersten setzten des Feldes txtvollname. Er sagt: "Semikolon fehlt" -- :-?

  • stimmt, hab ich auch übersehen.


    Allerdings ist das nicht das Ergebnis, dass ich erzielen möchte :D


    Es soll eine Picklist angezeigt werden, mit den Mitarbeitern, die er beim @Lookup gefunden hat und nur diese.
    _RESULT := @DbLookup( "" : "NoCache" ; "" : "" ; "VG+MA" ; @UserName; 2);

  • Dann häng bei der Picklist noch einen zusätzlichen Parameter an, d.h.:


    @PickList([Custom] : [Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;"TEXT" ; 5; @UserName);


    Dieser bewirkt dass nur die entsprechende Kategorie, also der aktuelle Benutzername, angezeigt wird.
    Steht auch genauso in der Designer Hilfe

    • Offizieller Beitrag

    die Picklist kannst Du nur einschränken über den Parameter Kategorie, dieser müsste hinter der Spalte (bei Dir 5 ) kommen und kann nur auf eine Kategorie einschränken.


    @PickList([Custom] : [Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;"TEXT" ; 5;[color=CC0000]Kategorie[/color] );


    Wo schreibst Du eigentlich das Ergebnis der Picklist hin?
    Irgendiwe muss es so aussehen:


    Auswahl := @PickList([Custom] : [Single] ; "" : "" ; "VG+MA" ; "Mitarbeiter" ;"TEXT" ; 5;[color=CC0000]Kategorie[/color] );


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein