Vad e det för fel på den här koden när jag får felmedelandet Response.Write "<tr width='600' align='top' valign='top' bgcolor='" & bgcolor & "'>" & "<td align='top' valign='top' width='200' class='boxlookchattd'>[" & RS("date") & "]" & " " & RS("name") & "</td><td align='top' valign='top' width='400'> " & RS("text") & "</td></tr>" En förklaring: äähumm.. lite optimering eller nåt.. ;) Aha, du måste byta färg i loopen, såhär:Rad färg byte!!! [LÖST]
Felet------------------------------------->
Microsoft VBScript compilation error '800a0409'
Unterminated string constant
/muffinman/db/Acomunity/chat.asp, line 40
Response.Write("<tr width='600' align='top' valign='top' bgcolor='<%=bgcolor
--------------------------------------------------------------------------------------^
Koden-------------------------------------->
<LINK REL=stylesheet HREF="style.css" TYPE="text/css">
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/chat.mdb")&";"
SQL = "Select * From chat"
Set RS = Con.Execute(SQL)
%>
<%
SQL = "Delete From chat Where [date] < #" & DateAdd("n",-20,Now) & "#"
con.Execute(SQL)
%>
<html>
<head>
<meta http-equiv="refresh" content="10" nocache>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="2" align="top" valign="top" class="boxlookchat">
<%
Dim i
Dim bgcolor
For i = 1 To 1
If bgcolor="#FFFFFF" Then
bgcolor="#CCCCCC"
Else
bgcolor="#FFFFFF"
End If
%>
<%
strSQL = "SELECT TOP 20 * FROM chat ORDER BY ID DESC"
Set RS = Con.Execute(strSQL)
Do Until RS.EOF
Response.Write("<tr width='600' align='top' valign='top' bgcolor='<%=bgcolor%>'>" & "<td align='top' valign='top' width='200' class='boxlookchattd'>" & "<b>" & "[" & RS("date") & "]" & " " & RS("name") & "</b>" & "</td>" & "<td align='top' valign='top' width='400'>" & " " & RS("text") & "</td>" & "</tr>")
RS.MoveNext
Loop
Set RS = Nothing
%>
<%NEXT%>
</table>
</body>
</html>Sv: Rad färg byte!!!
/JohanSv: Rad färg byte!!!
Vad du försöker göra är att använda inline-asp alltså <%=varX%>. Inline-asp kan man bara använda när ett asp-block inte är öppnat, dvs <%. Om du ska använda inline-asp (som dock är segt), så får du byta ut response.write(blablabla) mot:
%>
<%=asdsfsddfhhf%>
<%
Rekommenderas inte!
Ersätt istället (i din response.write) <%=sadas%> mot " & asdasf & ". Vad du gör är att du avslutar strängen och adderar en sträng och börjar den igen.Sv: Rad färg byte!!!
<code>
Dim bColor
bColor = true
If bColor Then
Response.Write("<tr bgcolor=""#ffffff""><td>VIT</td></tr>")
bColor = false
Else
Response.Write("<tr bgcolor=""#dddddd""><td>GRÅ</td></tr>")
bColor = true
End If
</code>
Om du drar in på din IF-sats där du tilldelar bgColor en färg och använder min istället så har du nog sparat EN rad kod eller nåt... ;)
Men bara om du känner för det.. ;)Sv: Rad färg byte!!!
<code>
<LINK REL=stylesheet HREF="style.css" TYPE="text/css">
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/chat.mdb")&";"
SQL = "Select * From chat"
Set RS = Con.Execute(SQL)
%>
<%
SQL = "Delete From chat Where [date] < #" & DateAdd("n",-20,Now) & "#"
con.Execute(SQL)
%>
<html>
<head>
<meta http-equiv="refresh" content="10" nocache>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="2" align="top" valign="top" class="boxlookchat">
<%
Dim bgcolor
strSQL = "SELECT TOP 20 * FROM chat ORDER BY ID DESC"
Set RS = Con.Execute(strSQL)
Do Until RS.EOF
If bgcolor="#FFFFFF" Then
bgcolor="#CCCCCC"
Else
bgcolor="#FFFFFF"
End If
Response.Write "<tr width='600' align='top' valign='top' bgcolor='" & bgcolor & "'>" & "<td align='top' valign='top' width='200' class='boxlookchattd'>[" & RS("date") & "]" & " " & RS("name") & "</td><td align='top' valign='top' width='400'> " & RS("text") & "</td></tr>"
RS.MoveNext
Loop
Set RS = Nothing
%>
</table>
</body>
</html>
</code>
/Johan