DBLookup Ergebnisse vorher abfragen

  • Ja, dieser Fehler lässt sich mit @isError()abfangen:


    dbl := @DbLookup("" : "NoCache"; ""; "Ansicht"; Key; 4);
    proof := @If(@IsError(dbl); "nothing"; dbl);


    Wenn also proof = "nothing", dann kannst Du eine Fehlermeldung ausgeben und die Weiterbearbeitung abbrechen.


    Ich hoffe, ich konnte Dir damit weiterhelfen.


    Viele Grüße


    Blue

  • Hallo,


    bei mir bringt der Teil der Formel:


    dbl := @DbLookup("" : "NoCache"; ""; "Ansicht"; Key; 4);



    folgenden Fehler:


    Kein Haupt- oder Auswahlausdruck in Formel: "


    wo liegt da das Problem


    Gruß Paul

  • was steht den in der Variable key?


    Poste mal noch die Code-Zeile, die mit
    key :=
    beginnt. Oder ist key ein Feld?


    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

  • Hallo Dirk,


    ich bin keine Größe in der Formelsprache, habe aber jetzt einfach einmal das


    proof := weggelassen.



    Die Formel soll folgendes bewirken:


    Ich möchte aus der Ansicht - Feldbezeichner den Wert aus der Spalte Dictionary_translation als Ergebnis übertragen, Suchbegriff:


    DE:Tiresize


    Das funktioniert prima solange der Suchbegriff vorhanden ist.
    Fehlt der Suchbegriff od. ist gar die Datenbank nicht vorhanden kommen Fehlermeldungen und die Maske wird überhaupt nicht angezeigt.


    Irgendwie funktioniert das mit dem Ergebnis vorher abfragen nicht.




    Jetzt bekomme ich beim ausführen die Fehlermeldung:


    Eintrag im Index nicht gefunden


    Trage ich als nsf "richtig" ein kommt beim ausführen die Fehlremeldung


    Datei nicht gefunden



    die Datei: Anwendungen/Dict/D_Dictionary gibt es nicht
    und ich möchte eigentlich dass dann im Feld der Wert aus


    EN_Dictionary steht.



    Mein Code:


    falsch := "ANWENDUNGEN/DICT/" + "D"+ "_Dictionary.nsf";
    richtig := "ANWENDUNGEN/DICT/" + @UpperCase(@LanguagePreference ( [Content] ))+ "_Dictionary.nsf";




    engl := @DbLookup( "" ;@ServerName:richtig ; "Feldbezeichner" ;" EN:tiresize" ; "Dictionary_Translation");



    de := @DbLookup( "" ;@ServerName:falsch ; "Feldbezeichner" ; "DE:tiresize"; "Dictionary_Translation");



    dlbl := @DbLookup( "" ;@ServerName:falsch ; "Feldbezeichner" ; "DE:tiresize" ; "Dictionary_Translation");
    @If(@IsError(dlbl); engl; de);




    Gruß Paul

  • Zitat

    Trage ich als nsf "richtig" ein kommt beim ausführen die Fehlremeldung


    Datei nicht gefunden


    Dann wird hier
    richtig := "ANWENDUNGEN/DICT/" + @UpperCase(@LanguagePreference ( [Content] ))+ "_Dictionary.nsf";
    der Dateiname nicht richtig berechnet.


    In der Zeile
    engl := @DbLookup( "" ;@ServerName:richtig ; "Feldbezeichner" ;" EN:tiresize" ; "Dictionary_Translation");
    fällt mir auf, dass beim Key ein Leerzeichen drin ist. ist dies richtig?


    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

  • Ooooooh Mann,


    danke Diala, manchmal ist es schlimm wenn man's mit den Augen hat.


    Die Leerstelle war das Problem und wenn man sich dann verrennt geht irgendwan gar nichts mehr.


    Auf jedenfall funktioniert's jetzt prächtig.


    Gruß Paul