Do Until X = 11
X = X + 1
If RS("username1") <> "" then
namn = Replace(server.HTMLEncode(RS("username1")),vbCrlf,"")
text = Replace(Free(server.HTMLEncode(RS("text"))),vbCrlf,"")
text = Replace(text,"'","\'")
text = " " & text
namn = "<b><font color=""#000066"">[" & Mid(RS("datum"),12,5) & "]</font> <font color=""#CC0000"">" & namn & "<font color=""#000000"">: </font> "&"</b>"
Response.Write "parent.namn" & x & ".innerHTML = '" & namn & "'" & vbCrlf
Response.Write "parent.text" & x & ".innerHTML = '" & text & "'" & vbCrlf
Else
Response.Write "parent.namn" & x & ".innerHTML = ''" & vbCrlf
Response.Write "parent.text" & x & ".innerHTML = ''" & vbCrlf
end if
RS.MoveNext
Loop
Jag får undantag inträffade på If RS("username1") <> "" then
Du kanske inte har någon kolumn som heter "username1"? Skulle jag namnge en kolumn i en tabell, skulle jag skippa den där 1:an som du har petat dit. Därför förefaller det osannolikt att någon har namngett kolumnen till "username1". Kolla om inte kolumnen i själva verket heter "username".
Det är alltid värt att kolla: If not rs.EOF then för att se att du inte har kommit till slutet av recordsetet. Om fältet med användarnamnet är helt NULL kan du kolla det med:
if rs("username1") is not null.
se till att du sätter x till ett värde innan du går in i while loopen...då kommer den att räkna framåt och gör den inte det så är det för att det inte finns några rader i tabellen där du försöker läsa från.
X = 0
while not RS.EOF
X = X + 1
namn = Replace(server.HTMLEncode(RS("username1")),vbCrlf,"")
text = Replace(Free(server.HTMLEncode(RS("text"))),vbCrlf,"")
text = Replace(text,"'","\'")
text = " " & text
namn = "<b><font color=""#000066"">[" & Mid(RS("datum"),12,5) & "]</font> <font color=""#CC0000"">" & namn & "<font color=""#000000"">: </font> "&"</b>"
Response.Write "parent.namn" & x & ".innerHTML = '" & namn & "'" & vbCrlf
Response.Write "parent.text" & x & ".innerHTML = '" & text & "'" & vbCrlf
rs.MoveNext
wend
Response.Write "parent.namn" & x & ".innerHTML = ''" & vbCrlf
Response.Write "parent.text" & x & ".innerHTML = ''" & vbCrlf
Du kanske har missförstått mig så jag förklarar lite nogrannare.
Det jag vill göra är att först loopa igenom dem poster som finns i tabellen. Om det tex bara finns 5 poster så ska resten av posterna bli else och x ska adderas med 1 varje gång. För att det måste alltid finnas 11 parant...
X = 0
while not RS.EOF
X = X + 1
namn = Replace(server.HTMLEncode(RS("username1")),vbCrlf,"")
text = Replace(Free(server.HTMLEncode(RS("text"))),vbCrlf,"")
text = Replace(text,"'","\'")
text = " " & text
namn = "<b><font color=""#000066"">[" & Mid(RS("datum"),12,5) & "]</font> <font color=""#CC0000"">" & namn & "<font color=""#000000"">: </font> "&"</b>"
Response.Write "parent.namn" & x & ".innerHTML = '" & namn & "'" & vbCrlf
Response.Write "parent.text" & x & ".innerHTML = '" & text & "'" & vbCrlf
rs.MoveNext
wend
while x < 12
x = x + 1
Response.Write "parent.namn" & x & ".innerHTML = ''" & vbCrlf
Response.Write "parent.text" & x & ".innerHTML = ''" & vbCrlf
wend
Den funkar inte perfekt. När det finns fler än 11 poster så skriver den ut parent12 och det ska den inte göra. Får ett javascipt fel om att parant12 är null och parant12 ska inte ens finnas med. Det ska bara gå till 11