Autor Thema: Berechneten Text in Maske neu kalkulieren  (Gelesen 6320 mal)

Offline Hurby

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
Re: Berechneten Text in Maske neu kalkulieren
« Antwort #20 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...

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
Mit etwas Geschick kann man aus Steinen die einem in den Weg gelegt worden sind eine Treppe bauen...

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Berechneten Text in Maske neu kalkulieren
« Antwort #21 am: 23.11.07 - 19:09:28 »
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...

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.

...
aber laut Hilfe müsste

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


das Feld wiedergeben

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

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Berechneten Text in Maske neu kalkulieren
« Antwort #22 am: 23.11.07 - 19:55:17 »
Hi,

...
aber laut Hilfe müsste

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


das Feld wiedergeben

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 ) )
statt
Code
@If(  _wert = "" ; "0" ; @Text( @Elements( _wert ) ) )
?
und mit Fehlerbehandlung (die würde ich wieder aufnehmen! - sonst gibts irgendwann probleme!)
Code
@If(@IsError(_wert); "FEHLER";
	_wert = "" ; "0" ;
	@Text(_wert ) 
)

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
)

Ausserdem musst Du, wenn Anzahl das Feld ist dieses in "" schreiben, wie Axel schon sagt:
Du musst natürlich den Feldnamen Anzahl noch in Anführungszeichen setzen.
also so:
Code
@DbLookup("Notes":"NoCache";"":"WBKHelp.nsf";"Anzahl_HCL";"1";"Anzahl");

Gruss, Pete(r)
pete(r)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz