MoppanMedlem sedan okt. 200257 inlägg 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
MoppanMedlem sedan okt. 200257 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.......
MoppanMedlem sedan okt. 200257 inlägg Jag vill alltså plussa på postens innehåll med det befintliga innehållet i vektorn.....
UlfTMedlem sedan maj 20018 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?
SPiNMedlem sedan mars 20007 896 inlägg AvPercent(LoopCount) = AvPercent(LoopCount) + cDbl( wpsrs4("Month" & cStr( LoopCount ) ) )
Försök med det istället.
MoppanMedlem sedan okt. 200257 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...
MoppanMedlem sedan okt. 200257 inlägg AvPercent(LoopCount) = AvPercent(LoopCount) + cDbl(wpsrs4("Month" & LoopCount))
blir : 0000000053.80000000000031.8000000000100050000 Den plussar inte på, den gör en sträng.....
MoppanMedlem sedan okt. 200257 inlägg Expected end of statement
/time/time_stats_company.asp, line 213
Redim AvPercent(12)as Double
-------------------^
MoppanMedlem sedan okt. 200257 inlägg Jag blir toookig... fattar noll.... kokkosboll...
SPiNMedlem sedan mars 20007 896 inlägg Redim AvPercent(12)
for LoopCount = 1 to 12
AvPercent(LoopCount) = cDbl( AvPercent(LoopCount) ) + cDbl( wpsrs4("Month" & LoopCount) )
next
:q
Red.} Tog bort As Double...
UlfTMedlem sedan maj 20018 027 inlägg Pröva med ett mellanslag mellan "(12)" och "As".
As Double funkar väl knappast i VBScript.
@ndersMedlem sedan juni 200032 969 inlägg I VBScript kan man inte deklarera något till en viss datatyp. Det är bara att kasta bort 'AS Double'.
Mvh,
MoppanMedlem sedan okt. 200257 inlägg Så hur gör jag? Nu har jag ju massa pojkar som blandar sig i..
MoppanMedlem sedan okt. 200257 inlägg Jag tror att det fungerar nu... tack....
MoppanMedlem sedan okt. 200257 inlägg Eller det fungerar inte alls...
MoppanMedlem sedan okt. 200257 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
MoppanMedlem sedan okt. 200257 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......