Domino 9 und frühere Versionen > Entwicklung

@DBLookup-Rückgabewert bei keiner Übereinstimmung

(1/2) > >>

Silver:
Hallo!

Ich hab folgende Teil-Formel in einer Schaltfläche:

temp := @DbLookup("" ; "" ; "MAALLE" ; @Name([CN];@UserName); "Filiale" ; [FailSilent] );
temp1 := @DbLookup("" ; "" ; "MAALLE" ; @Name([CN];@UserName); "Abteilung");
temp_endg := @If(temp=""; "NO" ; @If(temp = "Zentrale" ; temp1 ; temp));

Diese funzt auch soweit über Notes 6 (da dort wohl die Funktion [FailSilent] integriert ist)

Brauche allerdings so etwas unter Notes 5.5 (hier erscheint bei dieser Formel "Zu viele Argumente").

D. h. Wenn der User, der die Datebank aufmacht nicht in der Ansicht MAALLE gefunden werden kann, soll "" übergeben werden. Denn hierüber steuere ich, welche Ansicht aufgemacht werden soll. Momentan bekomme ich aber die Meldung "Serverfehler: Eintrag im Indes nicht gefunden". Welchen Wert gibt mir @DBLookup bei keiner Übereinstimmung zurück? Habs mit 0 und mit "" versucht. Aber das selbe Prob.

Hat jemand eine Idee?  ???

Thomas Schulte:
@if(@iserror (@dblookup....);"";@Dblookup(...))
Damit wird das ding zwar im Erfolgsfall zweimal aufgerufen aber das ist da die einzige Möglichkeit

klaussal:
Aus der Hilfe:

--- Zitat ---Damit die Suche erfolgreich durchgeführt wird, muss die Ansicht eine sortierte Spalte enthalten, weil andernfalls ein NULL-Wert zurückgegeben wird.
--- Ende Zitat ---

Knarfbrain:
ich frage solche Fälle mit folgenden Formeln ab:

user:=@DbColumn("" : "NoCache"; "" : ""  ;"Ansicht"; 1);
erg:=@If(@IsMember(@Name([CN];@UserName);user);@DbLookup("" : "NoCache"; "" : ""  ;"Ansicht"; @Name([CN];@UserName);2);"");

Ich hoffe es hilft.

Gruß
Frank

Thomas Schulte:
@Klaus, das ist richtig aber denke ich bei diesem Problem nicht relevant. Er fragt ja wie er den [FailSilent] in R5 nachbilden kann.

@Frank, Hmm ein anderer Ansatz, der aber bei großen Rückgabewerten nicht mehr funktioniert.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln