[Gelöst] zu CODE-Feld addieren CC

13. März 2013 13:59

Hallo zusammen,

ich steh irgendwie auf dem Schlauch.
ich möchte gerne zu einem Codefeld zB 10000 noch einen Wert 10000 zu addieren. Also dann 20000

wenn ich das so mache
Code:
CodeFeldneu := CodeFeld2 + '10000';


kommt 1000010000 raus :-(

kann mir jemand die Augen öffnen??? :shock:

Danke
VG
Roland
Zuletzt geändert von Roland am 13. März 2013 16:58, insgesamt 1-mal geändert.

Re: zu CODE-Feld addieren C

13. März 2013 14:03

Mit Code-Werten kann in NAV nicht nummerisch addiert werden.
Du musst den Code-Wert mittels EVALUATE (siehe Onlinehilfe) in einen integer umwandeln. Zu diesem Wert kannst du dann 10000 (nicht Text, sondern Zahl) addieren.
Die Summe wandelst du mittels FORMAT(DeineSumme) wieder in einen Text(bzw. Code)-Wert.

Re: zu CODE-Feld addieren C

13. März 2013 14:15

Das Codefeld darf dann allerdings keine Buchstaben und Sonderzeichen enthalten oder mit einer führenden Null beginnen.

mfg,
winfy

Re: zu CODE-Feld addieren C

13. März 2013 14:46

winfy hat geschrieben:Das Codefeld darf dann allerdings keine Buchstaben und Sonderzeichen enthalten oder mit einer führenden Null beginnen.

... aber auch das kann man ganz schnell prüfen:
Code:
IsNumeric := STRLEN(DELCHR(CodeFeld,'=',0123456789)) 0

Re: zu CODE-Feld addieren C

13. März 2013 14:53

Etwas komplizierter wird es wenn das Codefeld Buchstaben und Sonderzeichen enthalten soll.
Dann müsste man sich selber eine Funktion schreiben, die das dann so addiert wie man das möchte.
Also ähnlich der INCSTR Funktion.

Code:
FOR i:=1 TO 10000 DO code:=INCSTR(code); 


Der Code würde auch gehen, aber ich würde das jetzt hier nicht als "gute" Lösung vorschlagen wollen! :-D

mfg,
winfy

Re: zu CODE-Feld addieren C

13. März 2013 16:57

Super
Danke Euch allen,
hat funktioniert :-D

Code:
EVALUATE(ZAHL,CodeFeld);
CodeFeld := FORMAT(ZAHL + 10000);


Roland :lol: