Script-Äquivalent für "@DBLookup"

  • Hallo Leute,


    ich bin gerade dabei einen Agent zu bauen; da ich da drin so eineiges elegant mit LotusScript mache, möchte ich auch gerne ei n paar (für mich) bewährte @DBLookup Abfragen da drin verwenden.
    Ich denke, mit "Evaluate" ist's eher ein Krampf (u.a. kein Debugging); wa ist denn da die Script-mäßige Entsprechung um eine Summe aus einer Kategorie einer Ansicht zu kriegen ?


    Als Formel siehts so aus :


    @SetField("MeinFeld";@ToNumber(@Sum(@DbLookup("":"";""; "Meine Ansicht";"MeinKey";2;[FailSilent]))))


    Oder würdet ihr mir raten den ganzen Agent als Formelagenten zu designen ?


    Danke für Eure Tipps


    Günther

  • Also wenn es mit Formelsprache geht dann immer besser damit.


    Ansonsten für Script geht das eben per GetAllDocumentsByKey und einer Schleife über die gefundenen Dokumente die deine gewünschten Aktionen durchführt

    • Offizieller Beitrag

    NotesDocumentCollection = notesview.GetAllDocumentsByKey


    oder wenn es nur ein Dokument gibt,dann geht auch
    NotesDocument = notesview.GetDocumentByKey


    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

  • Es kommt dabei auch drauf an, um wieviel Daten es sich handelt. Ich bin mir nicht ganz sicher, wo z.B. der Grenzwert bei @Sum liegt. Ich kann mir aber vorstellen, dass die Funktion bei 256 Werten schon ausgereizt ist.


    Also bei tendenziell ehr großen Datenmengen würde ich zu einer leicht aufwändigeren Skipt-Konstruktion raten. Bei kleineren Datenmengen ehr zu @Functions.


    Etwas inperformat geht das übrigens auch ganz ohne Ansicht:


    Gruss, Bernd

  • Tja, danke erstmal.


    Ich denke jetzt in zwei Richtungen :


    1) der Agent ist ein Script-Agent, erstellt das Dokument und ruft dann einen weiteren (Formel) Agenten auf, der die berühmten @DBLookups ausführt.
    Da ist das Problem, wie bringe ich dem zweiten, untergeordneten Agenten bei dass er sich in dem Dokument tummeln soll das sein Vorgänger erzeugt hat ....


    2) Alles wird auf Formeln umgestellt.
    @Command([Compose];"MeineMaske");
    @SetField("Testfeld";"ja")
    Da ist das Problem dass der Agent nix tut im neuerstellten Dokument ....


    Da wenn man wüsste wo das Tieferbohren mehr Erfolg verspricht .


    Günther

  • Ja, Danke, hast recht.
    Ist zwar nicht so schön übersichtlich wenn man 200 berechnete Felder hat, ist aber am einfachsten.
    Damit sollt ich zurande kommen.



    Danke Euch allen recht schön



    Günther

  • Hallo Günter,


    Du kannst auch mehrere Felder von einem aus steuern. Z.B. indem Du ein Feld erstellst, mit folgendem Code:


    FIELD Testfeld1 := "ja";
    FIELD Testfeld2 := "nein";
    FIELD Testfeld3 := "ja";
    void


    Gruss, Bernd