M Moppan Medlem sedan okt. 2002 57 inlägg Trådstart 1 nov. 2002 10:01 #1 Hallå! Jag vill summera ett gäng decimaltal som ska lagras i en array... Går inte det?
Redim AvPercent(12)
for LoopCount = 1 to 12
AvPercent(LoopCount) = AvPercent(LoopCount) + wpsrs4("Month" & LoopCount)
next
Jag får felmeddelandet: "Type mismatch "
wpsrs4("Month"& LoopCunt) Är tal som 46.2, 31.4, 50.0 osv....
//Mia
M Moppan Medlem sedan okt. 2002 57 inlägg Nopes wpsrs4 är ett recordset
("Month" & Loopcount) står för månad 1 till 12.
Jag har en post för varje månad.......
M Moppan Medlem sedan okt. 2002 57 inlägg Jag vill alltså plussa på postens innehåll med det befintliga innehållet i vektorn.....
UlfT Medlem sedan maj 2001 8 027 inlägg Kolla igenom vilka datatyper du använder:
Redim AvPercent(12) ?
Vilken datatyp blir det? Vad jag kan förstå vill du ha flyttal. I så fall, skriv hellre:
Redim AvPercent(12) As Double
Då är arrayen deklarerad som flyttal.
wpsrs4("Month"& LoopCunt) Är tal som 46.2, 31.4, 50.0 osv....
Vad ska du använda inargumentet till för något? Det är i alla fall en sträng, typ "Month1", "Month2", osv. Strängar går inte att använda i beräkningar, men du kanske använder strängarna till något annat?
S SPiN Medlem sedan mars 2000 7 896 inlägg AvPercent(LoopCount) = AvPercent(LoopCount) + cDbl( wpsrs4("Month" & cStr( LoopCount ) ) )
Försök med det istället.
M Moppan Medlem sedan okt. 2002 57 inlägg "Vad ska du använda inargumentet till för något? Det är i alla fall en sträng, typ "Month1", "Month2", osv. Strängar går inte att använda i beräkningar, men du kanske använder strängarna till något annat?"
Det är inte alls strängar... wpsrs4("MonthX") innehåller decimaltal.....
x står för LoopCount
Ska prova att deklarera min array som double... det är säkert bara det...
M Moppan Medlem sedan okt. 2002 57 inlägg AvPercent(LoopCount) = AvPercent(LoopCount) + cDbl(wpsrs4("Month" & LoopCount))
blir : 0000000053.80000000000031.8000000000100050000 Den plussar inte på, den gör en sträng.....
M Moppan Medlem sedan okt. 2002 57 inlägg Expected end of statement
/time/time_stats_company.asp, line 213
Redim AvPercent(12)as Double
-------------------^
M Moppan Medlem sedan okt. 2002 57 inlägg Jag blir toookig... fattar noll.... kokkosboll...
S SPiN Medlem sedan mars 2000 7 896 inlägg Redim AvPercent(12)
for LoopCount = 1 to 12
AvPercent(LoopCount) = cDbl( AvPercent(LoopCount) ) + cDbl( wpsrs4("Month" & LoopCount) )
next
Red.} Tog bort As Double...
UlfT Medlem sedan maj 2001 8 027 inlägg Pröva med ett mellanslag mellan "(12)" och "As".
As Double funkar väl knappast i VBScript.
@nders Medlem sedan juni 2000 32 967 inlägg I VBScript kan man inte deklarera något till en viss datatyp. Det är bara att kasta bort 'AS Double'.
Mvh,
M Moppan Medlem sedan okt. 2002 57 inlägg Så hur gör jag? Nu har jag ju massa pojkar som blandar sig i..
M Moppan Medlem sedan okt. 2002 57 inlägg Jag tror att det fungerar nu... tack....
M Moppan Medlem sedan okt. 2002 57 inlägg Eller det fungerar inte alls...
M Moppan Medlem sedan okt. 2002 57 inlägg Det är fyra tal som ska adderas för månad nio, dessa är: 46.2, 31.8, 50, 50
Loppen gås igenom 48 ggr, därav alla tal nedan... Men talen summeras inte, bara slås ihop som en sträng....
Koden:
for LoopCount = 1 to 12
AvPercent(LoopCount) = cDbl( AvPercent(LoopCount) ) + cDbl( wpsrs4("Month" & LoopCount) )
Response.Write(wpsrs4("Month9"))
next
46.246.246.246.246.246.246.246.246.246.246.246.231.831.831.831.831.831.831.831.831.831.831.831.8505050505050505050505050505050505050505050505050
M Moppan Medlem sedan okt. 2002 57 inlägg Eller den byter värde rättare sagt, inte plussar på för varje gång jag tar nästa gång jag byter rad i databasen......