AampyMedlem sedan feb. 20011 498 inlägg Jag har problem med att lägga till decimaler i databasen. Så här ser koden ut:
SQL = "SELECT * from members where username = '"&varArray(i)&"'"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
poang = CInt(RecSet("poang")) + 0.02
RecSet.Close
strSQL="UPDATE members SET poang = "& CInt(poang) &" WHERE username = '"&varArray(i)&"' "
Connect.execute (strSQL)
Har även testat med utan CInt men funkar ändå inte. Kolumnen poang är tal med fältstorlek Decimal.
LLarsGMedlem sedan dec. 200012 464 inlägg SQL = "SELECT * from members where username = '"&varArray(i)&"'"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
poang = cdbl(RecSet("poang")) + 0.02
RecSet.Close
strSQL="UPDATE members SET poang = "& replace(poang,",",".") &" WHERE username = '"&varArray(i)&"' "
Connect.execute strSQL
AampyMedlem sedan feb. 20011 498 inlägg Kan du förklara varför man ska göra så?
UlfTMedlem sedan maj 20018 027 inläggCInt ger heltal, men du vill ha decimaltal, därför CDbl som ger Double.
replace för att byta decimalkomma mot decimalpunkt, vilket är vad som behövs i databasen.
AampyMedlem sedan feb. 20011 498 inlägg Nu när jag testade koden så la den till 1 istället för 0.02
UlfTMedlem sedan maj 20018 027 inläggÄr kolumnen "poang" i databastabellen dimensionerad för decimaltal?
LLarsGMedlem sedan dec. 200012 464 inlägg Det var ju könstigt, men det är väl bättre om du gör update direkt utan att hämta något värde
strSQL="UPDATE members SET poang = poang + 0.02 WHERE username = '"&varArray(i)&"' "
Connect.execute strSQL
AampyMedlem sedan feb. 20011 498 inlägg Nu uppdateras den inte med 0.02 när jag skriver så här:
strSQL="UPDATE members SET poang = poang + 0.02 WHERE username = '"&varArray(i)&"' "
Connect.execute strSQL
Men om jag skriver så här:
strSQL="UPDATE members SET poang = poang + 5 WHERE username = '"&varArray(i)&"' "
Connect.execute strSQL
Så uppdateras det med 5.
Kolumnen poang ser ut så här:
Datatyp: Tal
Fältstorlek: Decimal
Format:
Precision: 18
Skala: 0
Decimaler: 2
Indatamask:
Titel:
Standardvärde: 0
Verifieringsuttryck:
Verifieringstext:
Obligatoriskt: Nej
Indexerat: Nej
LLarsGMedlem sedan dec. 200012 464 inlägg Nu vet jag inte exakt vad Access menar med sina uttryck, men kan du testa och sätta skala till något som är skilt ifrån 0
AampyMedlem sedan feb. 20011 498 inlägg Nu fungerar det. Skala betydde antalet siffror till höger om decimaltecknet
UlfTMedlem sedan maj 20018 027 inlägg
Skala betydde antalet siffror till höger om decimaltecknet
Intressant! Vad betyder då Decimaler: 2?
AampyMedlem sedan feb. 20011 498 inlägg Så här står det:
Antalet siffror till höger om decimalteckenet. Välj "Automatiskt" om du vill att antalet ska avgöras av formatet.