Subscript out of range: [number: 0]
Jeg er ved at udvikle en kompetencetest, hvor der er ca. 30 spørgsmål i 3 kategorier og 20 underkategorier.Målet med den er at finde brugerens mangler ved forskellige færdigheder i forbindelse med almindelig programmer til pc'en.
Der er dog et problem... Når der skal tælles point op skal der tilføjes point og antal svar til både hovedkategorien og underkategorien...
Hovedkategorierne har hver sin session-variabel (fx. kat1). Underkategorierne samles derimod under en variabel efter hovedkategorien (fx. kat1u - u=underkatergorier).
kat1-variablen er bygget op som en |'separeret streng, kat1u virker på samme måde, men der er flere dimensioner. #'er adskiller underkategorierne, og mellem dem adskilles kategoriens ID, points og antal svar med kommaer (,).
For at tilføje points har jeg lavet denne løkke:
If kat = 1 Then
k1s = split(Session("kat1"),"|")
pts = k1s(0)
sva = k1s(1)
ptsN = pts+add
svaN = sva+sv
Session("kat1") = ptsN & "|" & svaN
kat1us = split(Session("kat1u"),"#")
for i = 1 to ubound(kat1us)
kat1us2 = split(kat1us(i),",")
If kat1us2(0) = katu Then ' linie 300
kat1us2(1) = kat1us2(1) + add
kat1us2(2) = kat1us2(2) + sv
nySplit = kat1us2(0) & "," & kat1us2(1) & "," & kat1us2(2)
Session("kat1u") = Replace(Session("kat1u"), kat1us(i), nySplit)
Response.Write "Tilføjede " & add & " points og " & sv & " svar til underkategori " & katu & " i niveau " & kat & ".<br>"
End If
next
Den sidste Response.Write er kun med for at tjekke om funktionen rent faktisk når så langt...
Så langt har jeg dog ikke fået den til at gå, da jeg får følgende fejlkode:
Error Type:
Microsoft VBScript runtime (0x800A0009)
Subscript out of range: '[number: 0]'
/mostest/default.asp, line 300
Linie 300 er denne: If kat1us2(0) = katu Then
Hvis jeg lige skal forklare de andre variabler der bliver brugt så:
kat = Hovedkategoriens id
add = Det antal points der skal tilføjes
sv = Det antal svar der skal tilføjes
katu = Underkategoriens id
Jeg håber I kan hjælpe for det er ret vigtigt at få disse underkategorier med...
