webForumDet fria alternativet

Prob med loop

8 svar · 310 visningar · startad av Boorg

BoorgMedlem sedan okt. 2004409 inlägg
#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

Engine^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?

BoorgMedlem 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

Engine^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.

BoorgMedlem 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" ?

Engine^Medlem sedan dec. 20003 887 inlägg
BoorgMedlem 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...

Engine^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)
BoorgMedlem 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 :/

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)