11. juni 2004 - 05:44
Der er
2 kommentarer
Punktum fejler i accesdatabase.
Jeg har lavet en ASP side som via Javascript udregner et decimaltal med 3 decimaler.
Jeg runder af til 3 decimaler ved .tofixed men den laver et punktum istedet for et komma før decimalerne. Dette får min Accessdatabase til at indføre 1.234 som 1234 istedet for 1,234 som er det jeg vil frem til.
Hvordan gør jeg det?
Databaser skal have . som decimal-anførsel, ellers skoder den i indsættelse. Se f.eks disse eks.
insert into test(val1,val2) values(1,2) //uden decimaltal
insert into test(val1,val2) values(1,2,2,3) //med decimaltal (forkert)
insert into test(val1,val2) values(1.2,2.3) //med decimaltal (rigtigt)
Som du kan se har databasen ingen mulighed for at vide hvad der er hvad i det 2. eks, så problemet er nok et andet sted. Hvordan ser din SQL-sætning ud som kode og udskrevet på skærmen??
enten skal du replace det i din ASP-kode inden du smider det ind ...
talvar=replace(talvar,",",".")
og ellers skal du gøre det i javascript der du beregner værdien (er den jeg selv bruger)
variable.split(',').join('.');