Varför får jag detta felmeddelande på denna kod och vad ska jag skriva för att få det rätt? Varför använder du array? ÄR inte det extra jobb?Array
[FELMEDDELANDE]
Microsoft VBScript runtime error '800a0009'
Subscript out of range
[KOD]
<code>
Dim lngI 'As Long
Dim avntUser() 'As Variant (Array)
Dim avntLine() 'As Variant (Array)
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT TOP 15 * From dialog ORDER BY Time desc"
rs.Open SQL, Connection, 1, 2
lngI = 0
ReDim avntUser(rs.RecordCount - 1)
While Not rs.EOF
avntUser(lngI) = "[" & rs("Time") & "]" & " " & rs("Alias")
avntLine(lngI) = rs("PM")
lngI = lngI + 1
rs.MoveNext
Wend
</code>
Mvh
Teodor LinderSv: Array
Du har också glömt att dimensionera avntLine arrayen
Prova att använda en statisk cursor istället:
<code>
Dim lngI 'As Long
Dim avntUser() 'As Variant (Array)
Dim avntLine() 'As Variant (Array)
Const adOpenStatic = 3
Const adLockReadOnly = 1
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT TOP 15 * From dialog ORDER BY Time desc"
rs.Open SQL, Connection, adOpenStatic, adLockReadOnly
lngI = 1
ReDim avntUser(rs.RecordCount)
ReDim avntLine(rs.RecordCount)
Do Until rs.EOF
avntUser(lngI) = "[" & rs("Time") & "]" & " " & rs("Alias")
avntLine(lngI) = rs("PM")
lngI = lngI + 1
rs.MoveNext
Loop
</code>
Om du vill arbeta med arrayer så kan du titta på GetRows funktionen för recordsetet. Vilket retunerar en tvådimensionel array med värdena.