Domino 9 und frühere Versionen > Entwicklung

Berechneten Text in Maske neu kalkulieren

<< < (5/5)

Hurby:
wenn ich schreibe

_wert := @DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";"Anzahl");
@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )

bekomme ich statt "3" aus dem Zielfeld "1". Ist das manchmal der wert aus der ersten sortierten Spalte? Die heißt nämlich auch Anzahl...

aber laut Hilfe müsste

_wert := @DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";Anzahl);
@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )

das Feld wiedergeben

MfG hurby

Axel:

--- Zitat von: Hurby am 23.11.07 - 15:30:43 ---wenn ich schreibe

_wert := @DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";"Anzahl");
@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )

bekomme ich statt "3" aus dem Zielfeld "1". Ist das manchmal der wert aus der ersten sortierten Spalte? Die heißt nämlich auch Anzahl...

--- Ende Zitat ---

Jain. Erstmal ein Spalte hat keinen Namen, ergo kann sie auch nicht "Anzahl" heißen. Sie kann höchstens auf ein Feld mit Namen "Anzahl" zugreifen. In diesem Fall bekommst du natürlich scheinbar auch den Wert aus der ersten Spalte zurück, da du das Feld ausliest welches auch in der Spalte angezeigt wird. Und wenn da eine 1 angezeigt wird und die Spalte basiert auf dem Feld "Anzahl", dann liefert dir @Dblookup auch eine 1 zurück wenn du auf das FEld "Anzahl" zugreifst. Ich vermute mal, dass du irgendwo einen Denkfehler machst.


--- Zitat von: Hurby am 23.11.07 - 15:30:43 ---...
aber laut Hilfe müsste

_wert := @DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";Anzahl);
@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )

das Feld wiedergeben

--- Ende Zitat ---

Das tut es auch. Du musst natürlich den Feldnamen Anzahl noch in Anführungszeichen setzen.

Wenn das bei dir nicht funktioniert, dann muss wie oben bereits gesagt, der WauWau wo anders begraben sein.

Axel

pete_bla:
Hi,


--- Zitat von: Hurby am 23.11.07 - 15:30:43 ---...
aber laut Hilfe müsste

_wert := @DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";Anzahl);
@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )

das Feld wiedergeben

--- Ende Zitat ---

nein es gibt die Anzahl der gefundenen Elemente für "1" zurück, nicht den Inhalt des Feldes "Anzahl".
Du müsstest 3 Einträge (@Elements->Elemente einer Liste!) für den Lookup zurückerhalten,
damit @Elements(_wert) = 3 ist ....
Hast Du nur einen Eintrag (egal ob in "Anzahl" 5 oder 10 oder 10000 oder "schlagmichtot" steht)
erhälst du auch @Elements(_wert)  = 1.

wie wäre es mit

--- Code: ---@If(  _wert = "" ; "0" ; @Text(_wert ) )
--- Ende Code ---
statt

--- Code: ---@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )
--- Ende Code ---
?
und mit Fehlerbehandlung (die würde ich wieder aufnehmen! - sonst gibts irgendwann probleme!)

--- Code: ---@If(@IsError(_wert); "FEHLER";
_wert = "" ; "0" ;
@Text(_wert )
)
--- Ende Code ---

und eventuell noch schauen ob du wirklich eine Zahl oder einen String hast (sonst gibt bei @Text(_wert) auch wieder einen fehler).

--- Code: ---@If(@IsError(_wert); "FEHLER";
@IsNumber( _wert) ; @Text(_wert ) ;
_wert ="";"0";
        _wert
)
--- Ende Code ---

Ausserdem musst Du, wenn Anzahl das Feld ist dieses in "" schreiben, wie Axel schon sagt:

--- Zitat von: Axel am 23.11.07 - 19:09:28 ---Du musst natürlich den Feldnamen Anzahl noch in Anführungszeichen setzen.

--- Ende Zitat ---
also so:

--- Code: ---@DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";"Anzahl");
--- Ende Code ---

Gruss, Pete(r)

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln