webForumDet fria alternativet

Prob med loop

ASP

8 svar · 310 visningar · startad av Boorg

Medlem sedan okt. 2004409 inlägg
Frågan#1

Har en tabell som visar olika veckor, men är det ett fel och jag "tror" det är att i inte får vara så stor.

Den skall visa veckonummer från Vecka 1 2004 till vecka 1 2005 och får detta felmedelande:

Error Type:
Microsoft VBScript runtime (0x800A0009)
Subscript out of range: 'i'

Och här e koden:

MondayTemp = MinOfMonday
for i = 4 to Columns
	tabell(0,i) = MondayTemp
	tabell(1,i) = "<center>" & DatePart("ww",MondayTemp,2,2) & "</center>"
	MondayTemp = DateAdd("ww",1,MondayTemp)
next

Någon som kan?

Mvh Jesper

Medlem sedan dec. 20003 887 inlägg
#2

Helt riktigt att i inte får vara för stor.

Varför har du satt

For i = 4 To Columns

? Och vad är Columns?

Medlem sedan okt. 2004409 inlägg
#3

Engine^ skrev:

Helt riktigt att i inte får vara för stor.

Varför har du satt

For i = 4 To Columns

? Och vad är Columns?

i är 4 för att dom fyra colummerna innan är redan fyllda

Columns är hur många kolummer i tabellen jag har, Jag ahr Columns och Rows, Columns bestämms av hur många veckor där är inställt

Medlem sedan dec. 20003 887 inlägg
#4

Ok... då gissar jag på att du ska göra loopen så här

For i = 3 To Columns - 1

Eftersom första indexet i en array alltid är noll.

Medlem sedan okt. 2004409 inlägg
#5

Nej den är redan inräknad

Finns det något knep så man kan göra den "hur stor som hellst" ?

Medlem sedan dec. 20003 887 inlägg
Medlem sedan okt. 2004409 inlägg
#7

Engine^ skrev:

ReDim() - http://www.devguru.com/Technologies/vbscript/quickref/redim.html

Hmm okej.. förstog inte riktigt på artikeln hur man skulle andvända det...

Medlem sedan dec. 20003 887 inlägg
#8

Att du kan öka Arrayens storlek. Men det ska ju du väl inte behöva göra...

Är din Array dimensionerad till

dim tabell(1, 53)

så ska väl det räcka.

Med ReDim kan du göra såhär

const ROWS = 7

dim tabell

[blue]'annan kod som gör saker och ting[/blue]

redim tabell(ROWS, 4)

[blue]'annan kod som gör saker och ting och plötsligt behöver du fler fält[/blue]

redim preserve tabell(ROWS, 10)
Medlem sedan okt. 2004409 inlägg
#9

Hmmm okej...
Men hur ska man få in den i denna koden då?

MondayTemp = MinOfMonday
for i = 4 to Columns
	tabell(0,i) = MondayTemp
	tabell(1,i) = "<center>" & DatePart("ww",MondayTemp,2,2) & "</center>"
	MondayTemp = DateAdd("ww",1,MondayTemp)
next

Det fattar jag nämmligen inte :/

266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)