Ich arbeite viel mit DBLookup Formeln und erhalte des öfteren Fehler wenn ein Sucheintrag in der Ansicht nicht vorhanden ist.
Lässt sich diese Fehlermeldung abfangen oder vom Text her ändern?
DBLookup Ergebnisse vorher abfragen
- Mykoleus
- Erledigt
-
-
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 -
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 ausEN_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 -
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