Domino 9 und frühere Versionen > ND6: Entwicklung

ODBC AS400 falsches Zahlenformat

<< < (4/5) > >>

koehlerbv:

--- Zitat von: robertpp am 08.03.06 - 23:24:23 ---Wie kann ich dem Feld bei Set ioPartTime = hdoc.GetFirstItem( "oPartTime" ) sagen das es ein Number-Feld ist? Ich hab keine Maske dazu für computewithform?

--- Ende Zitat ---

Masken sind eigentlich in NotesDBs sowieso entbehrlich (wenn nur nicht die User wären  ;D).

dblValue = Cdbl(Res.GetValue("AGSTZT"))
doc.YourTargetItem = dblValue
... und es ist ein Item mit numerischen Inhalt. Ganz einfach.
ArrayAppend funktioniert genauso:
doc.YourTargetItem = ArrayAppend (doc.YourTargetItem, dblValue)

Schau Dir das mal an. So in einer Spiel-DB ohne jegliches ODBC-Geraffel - nur diese Funktionalität. Auf die erforderlichen Abfragen wegen Zulässigkeit und ErrorHandling habe ich hier verzichtet - das ist ja eh klar.

Bernhard

Bernhard

robertpp:
Ok danke Bernhard, werde mich dann morgen mit einem frischen Kopf damit befassen und hoffe das es morgen dann klappt.

Sonst muss ich sagen so ein runonserver mit übergabe eines Doc's und hineinspeichern und dann im Frontend wieder auslesen des doc ist eine feine Sache. Du ersparst dir echt das ganze einrichten von ODBC-Verbindungen clientseitig.

robert

koehlerbv:
Dann sag' ich mal "Viel Glück", Robert. Solange Du tatsächlich ",45" als Wert zurückbekommst, ist es wirklich ein leichtes, daraus eine "normal lesbare" Zahl wie 0,45 zu machen. Wenn Du da durch bist, wirst Du über den Trödel von heute nur noch lächeln. Man muss eben nur mal gemacht und verstanden haben. Irgendwann ist immer das erste Mal. Wer gut ist, erlebt das sein Leben lang  ;)

Bernhard

robertpp:
Guten Morgen,  ;D

So jetzt passt das mit dem ,45
Ich schreib es jetzt in ein Number-Feld und es wird richtig dargestellt. (mit 0 am Beginn)
Ein kleines Problem hab ich jetzt noch:
Wenn das Feld noch nicht existiert dann kann (muss ich den ersten Wert) ja mit
valuedbl =Cdbl(Res.GetValue("AGSTZT"))      
if hdoc.oPartTime(0) = "" then
   pdoc.oPartTime = valuedbl
else
....
das Feld setzten.
Wenn aber die erste Zahl im Feld steht dann kann ich nicht mehr abfragen = "" weil es ja kein Text-Feld ist damit ich dann mit
   pdoc.oPartTime = Arrayappend (pdoc.oPartTime, valuedbl)
den weitern Wert anhängen kann?
Wie kann ich das noch lösen?

Glombi:
Sowas fange ich wie folgt ab:

dim item as NotesItem
set item = pdoc.GetFirstItem( "oPartTime" )
valuedbl =Cdbl(Res.GetValue("AGSTZT"))     
if not (item.Type = NUMBERS) then
   pdoc.oPartTime = valuedbl
else
...

oder so:
valuedbl =Cdbl(Res.GetValue("AGSTZT"))     
if not IsNumeric(hdoc.oPartTime(0)) then
   pdoc.oPartTime = valuedbl
else


Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln