@DbLookup in Ansichten --> 8.5.2

  • Hallo zusammen,


    ich habe eine Antwortmaske in der ich einen Wert aus einer Dialogbox von einer Ansicht auswähle und diesen in ein Feld schreiben.


    Nun hab ich das problem das ich mehrere werte dieses Datensatzes benötige.


    Ich habe dies über die Funktion:


    Code
    @DbLookup("":"";"":"";"namen";Name;2)


    in der Maske gelößt, jedoch würde ich gerne diese Funktion in einer Ansicht einbinden. Da ich gerne immer den Aktuellen Wert haben möchte.


    Denn mit der Formel schreibe ich den Wert einmal in das Feld und muß um dieses Feld zu aktualisieren erneut das Dokument öffnen und abspeichern.

  • Dachte ich mir schon :(


    Ich hab da mal noch eine kleine Fragen :)


    habe folgenden Code DbLookup Code und zähle die einträge einer eingebetteten Ansicht.


    Code
    @If(@IsNewDoc;list:=(0:0);list:=@DbLookup("":"";"":"";"Zuweisung";ID;6)); @Count(list)


    Nur wenn dies Dokument keine Einträge in der Ansicht findet bekomme ich einen Fehler zwegs des Count befehls. Gibt es eine möglichkeit diese Formel umzuändern so das wenn keine einträge vorhanden sind einfach als Count zahl 0 raus kommt?


    So funktioniert es leider nicht :(


    Code
    @If(!@Count(@DbLookup("":"";"":"";"Zuweisung";ID;6))>0;list:=(0:0);list:=@DbLookup("":"";"":"";"Zuweisung";ID;6));@Count(list)
    • Offizieller Beitrag

    habe es noch nicht verwendet oder versucht, aber mit xPage solltest du solche Verknüpfungen zustande bekommen. Wie die dann von der Performance aussieht kann ich nicht sagen.


    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

  • Wenn ich nun:


    Code
    @If(@IsError(@DbLookup("":"";"":"";"Zuweisung";ID;6));list:=(0:0);list:=@DbLookup("":"";"":"";"Zuweisung";ID;6));@Count(list)


    Gibt er mir trotzdem noch den wert 1 zurück und nicht 0.

  • Wie soll er bei der Formel denn jemals 0 zurückliefern ?


    @Count liefert die Anzahl der Elemente der Liste zurück und diese ist niemals 0, wenn die Formel auf einen Fehler läuft


    Siehe Hilfe

    Zitat


    Calculates the number of text, number, or time­date values in a list. This function always returns a number to indicate the number of entries in the list.
    This function is similar to @Elements, except that it returns the number 1 instead of 0, when the value it is evaluating is not a list or is a null string.


    Warum gibst du im Fehlerfall nicht einfach direkt 0 als Rückgabewert ?

  • hab ich schon versucht aber irgendie geht er auf das count zurück und schreibt 1 ein.


    ich hab aber jetzt die lösung.


    Es lag an dem list:=


    Code
    @If(@IsError(@Count(@DbLookup("":"";"":"";"Zuweisungen";LizenzID;2)));0;@Count(@DbLookup("":"";"":"";"Zuweisungen";LizenzID;2)))