Avatar billede mtas Nybegynder
17. september 2002 - 15:47 Der er 30 kommentarer og
1 løsning

Decimal tal og udregning...!!!!!!

hej!

Jeg har et problem da min MS DB (mdb) har en celle kaldet 'rate' som er i Tal/Decimaltal format.

Eks.: 0,20

Når jeg så på siden har et andet tal fra en MS DB (mdb) (samme) som dog har formaet Tal/Langt heltal så skriver den bare:

Der opstod en Microsoft VBScript-kørselsfejl fejl '800a000d'
Typer stemmer ikke overens


Det skyldes vel at normalvis skriver man 0.20 og ikke 0,20 som i databasen..

HVAD SKAL JEG GØRE ???
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 16:14 #1
Vil du lægge dem sammen eller tildele den enes værdi til den anden?
Avatar billede mtas Nybegynder
17. september 2002 - 16:20 #2
Altså min kode er således:


strVareId = rs("id")
strVareNavn = rs("titel")
strVareImg = rs("pix")
strVareInfo = rs("tekst")
strVarePris = rs("pris")+strPrisTjekker
strVareData = rs("data")
strVareMoms = strVarePris*0.25

Dim strCalcRate, RateValue
strCalcRate = rs("rate")
RateValue = strCalcRate

strVareRate = strVarePris*RateValue
strVarePris = strVarePris+strVareMoms+strVareRate



Og jeg benytter koden strVarePris til siden!
Avatar billede mtas Nybegynder
17. september 2002 - 16:20 #3
Den med decimaltal er rs("rate")
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 16:26 #4
Hvordan gemmer du "rate" i DB ? . Jeg tænkte bare hvis du nu brugte komma der i stedet for punktum ville du ved at bytte om herpå stoppe fejlen der.
Avatar billede mtas Nybegynder
17. september 2002 - 16:31 #5
Eyh altså jeg gemmer i databasen eksempelvis 0,20 i cellen rate. Det kan ikke stå med punktum.

Hvis jeg eksempelvis ændrer strVareMoms = strVarePris*0.25 til at bruge 0,25 forstår den ikke hvad jeg mener..

HVAD SKAL JEG GØRE ???
Avatar billede steen Nybegynder
17. september 2002 - 16:32 #6
Bare et foreslag:

strVareId = rs("id")
strVareNavn = rs("titel")
strVareImg = rs("pix")
strVareInfo = rs("tekst")
strVarePris = rs("pris")+strPrisTjekker
strVareData = rs("data")
strVareMoms = strVarePris*0.25

Dim strCalcRate, RateValue
strCalcRate = rs("rate")
RateValue = strCalcRate

strVareRate = strVarePris*RateValue
strVarePris = CDec(strVarePris)+CDec(strVareMoms)+CDec(strVareRate)
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 16:34 #7
Ja og så bare gøre det på strVarePris og RateValue
Avatar billede mtas Nybegynder
17. september 2002 - 16:36 #8
steen > KOden virker ikke... samme fejl !!
Avatar billede mtas Nybegynder
17. september 2002 - 16:41 #9
mortenkjeldberg> Kan du give mig mere info om hvad du mener ??
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 16:44 #10
Bruge CDec på strVarePris og RateValue.
Avatar billede mtas Nybegynder
17. september 2002 - 16:48 #11
Ny kode:strVareId = rs("id")
strVareNavn = rs("titel")
strVareImg = rs("pix")
strVareInfo = rs("tekst")
strVarePris = rs("pris")+strPrisTjekker
strVareData = rs("data")
strVareMoms = strVarePris*0.25

Dim strCalcRate, RateValue
strCalcRate = rs("rate")
RateValue = strCalcRate

strVareRate = CDec(strVarePris)*CDec(RateValue)
strVarePris = CDec(strVarePris)+CDec(strVareMoms)+CDec(strVareRate)



Ny fejl:
Der opstod en Microsoft VBScript-kørselsfejl fejl '800a000d'
Typer stemmer ikke overens: 'CDec'
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 16:52 #12
Altså det der driller er kommaet som du selv siger. Her er en "lille" løsning, der ikke er for køn og jeg ved heller ikke helt om den kan køre.

CDec(Replace(CStr(rs("rate")),',','.'))

Ombyt evt. ' med "
Avatar billede mtas Nybegynder
17. september 2002 - 16:56 #13
Tjaa det virkede ligesom stadigvæk ikke ...
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 16:59 #14
Er rs("rate") egentlig ikke en string ?
Avatar billede mtas Nybegynder
17. september 2002 - 17:00 #15
hvad mener du med string ??
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 17:03 #16
En textstreng !
Avatar billede mtas Nybegynder
17. september 2002 - 17:04 #17
Nej er en :

Datatype: Tal
Feltstørrelse: Decimal
Format: Tal

osv...
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 17:10 #18
Prøv en gang kun at sætte CDec(RateValue) i andensidste linie
Avatar billede mtas Nybegynder
17. september 2002 - 17:12 #19
naarh virker ikke!!!
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 17:17 #20
Samme fejl?
Avatar billede mtas Nybegynder
17. september 2002 - 17:21 #21
JEP!
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 17:43 #22
Prøv det her:

strCalcRate = Chr(34) & rs("rate") & Chr(34)
RateValue = Replace(CStr(strCalcRate),",",".")
Response.Write dec

og se hvad den skriver ud udkommenter evt de linier der indtil nu har givet fejl.
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 17:49 #23
Undskyld dec skal være RateValue
Avatar billede mtas Nybegynder
17. september 2002 - 17:54 #24
Virker ikke lige meget hvordan jeg laver koden!!
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 17:56 #25
Fejlmeddelelse ?
Avatar billede mtas Nybegynder
17. september 2002 - 18:13 #26
må vente lidt - har utrolig travlt med noget andet...!!!!
Avatar billede mortenkjeldberg Nybegynder
17. september 2002 - 18:23 #27
Jeg prøver bare at hjælpe.

Du skal have lavet rs("rate") om til en string og manipulere den ved at lave kommaer om til punktummer og fjerne eventuelle "'er. Jeg har lige haft det til at du, så nu må du prøve om du kan..
Avatar billede mtas Nybegynder
17. september 2002 - 18:34 #28
send lige den kode du brugte for at få det til at virke!!
Avatar billede mortenkjeldberg Nybegynder
18. september 2002 - 11:08 #29
<html>
<head>
<title>Something</title>
</head>
<body>
<%
  dec = Chr(34) & "0,5" & Chr(34)
  dec = Replace(CStr(dec),",",".")
  Response.Write dec
%>
</body>
</html>
Avatar billede t_kris Nybegynder
18. september 2002 - 18:19 #30
prøv at bruge CDbl() i stede
Avatar billede mtas Nybegynder
20. september 2002 - 22:14 #31
Virkede altså ikke :(

~lukker~
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
Kurser inden for grundlæggende programmering

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