Avatar billede mmolsen Nybegynder
15. september 2002 - 16:52 Der er 6 kommentarer og
1 løsning

Tal med decimaler behandles som streng ???

Jeg har en varedatabase med en varepris.
Pisen skal fx kunne være 199,95
Derfor har jeg i Access valgt at det skal være:

Feltstørresle: Langt Heltal
Format: standart
Decimaler: 2

Problemet er når jeg skriver til databasen med følgende ASP sætning:

Conn.execute("UPDATE Varer SET Pris =" & Request.Form("VarePris") & " WHERE VareID = " & Request.QueryString("VareID"))

Så får jeg fejl, fordi at prisen i databasen opføre sig som en streng.

Hvis jeg så ikke sætter nogen format for pris i databasen, så virker ovenstående ASP sætning godt. Dvs at det behandles som et tal og ikke en streng.

Men jeg SKAL have det til at være et decimaltal og ikke en streng, da prisen skal kunne ligges sammen.

Skal jeg bruge en anden feltstørrelse eller hvad skal jeg gøre ??
Avatar billede mmolsen Nybegynder
15. september 2002 - 17:07 #1
Der ser ud som om at det kun er langt heltal, heltal og byte uden nogen form for formatændring, der anses for at være typen tal.

Jeg kan heller ikke bruge datatype = valuta. Så får jeg også en string.
Avatar billede mmolsen Nybegynder
15. september 2002 - 17:11 #2
Fandt ud af at formaten skal være 199.95 og ikke 199,95
Men det er lidt nedtur, da jeg helst vil have formaten til at være 1.999,95 så det står pænt når jeg skriver prisen ud.
Avatar billede mmolsen Nybegynder
15. september 2002 - 17:23 #3
Kommet tættere på en løsning.
når man vi asp skriver i databasen, og tallet sættes til at være 1999.95 så laves det automatisk om til 1999,95. Så må jeg vel bare lave det om til en streng når det skal skrives ud så jeg kan tilføje et "." i tallet.
1999,95 -> 1.999,95

Afslutter dette spørgsmål
Avatar billede sjap Praktikant
15. september 2002 - 17:24 #4
Det skyldes formodentligt at du i Windows har sat formaterne sådan. De kan ændres ved at gå ind i Startmenuen i Indstillinger, Kontrolpanel, International og så vælge tal. Her bestemmer du hvad der skal være decimalseparator og tusindseparator.
Avatar billede mmolsen Nybegynder
15. september 2002 - 17:25 #5
Min valuta i windows står til:
kr 123.456.789,00
Så det er vel ok.
Avatar billede sjap Praktikant
15. september 2002 - 17:37 #6
Det tror jeg faktisk ikke. Det kommer an på om programmet henter talformatet eller valutaformatet - de kan tilsyneladende god være forskellige, men så vidt jeg ved bruger Access kun talformatet.
Avatar billede jkrons Professor
15. september 2002 - 23:26 #7
Undskyld spørgsmålet, men hvorfor har du valgt langt heltal, hvis du skal have decimaler på? Heltal er jo uden decimal. Har du prøvet at sætte feltet i databnasen til Reelt tal?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester