Hej! Testade att ändra till: leta alla ställen där det står do, respektive loop så kanske du förstår... Du har två Do until men bara en loop: Tack... det funkade! Kan bero på att det är ett memo fält. Eller att ett memo fält ingår i urvalet. Försök med: Det funkade igen... Fel: Loop förväntas. + If Len(RecSet... [LÖST]
Håller på med att sätta ihop admin sidor men får fel och har kollat och jämfört med annan kod men hittar inte felet...
Får felmeddelandet av IE:
Kompileringsfel i Microsoft VBScript (0x800A03FB)
'Loop' förväntas.
/wwwroot/notiser/admin.asp, line 95
Else
Någon som ser vart felet ligger i min kod.
<!--#include file="installning.asp"-->
<html>
<head>
<title>Admin</title>
<link rel="stylesheet" href="../css/stil.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="650" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="19">
<%
If Request.Form("password") = Losen or Session("Login") = "OK" Then
Session("Login") = "OK"
%><%
session.lcid = 1053
Response.Write "<table width='640' border='0' cellpadding='0' cellspacing='0'>"
Response.Write "...."
Response.Write "</table>"
Response.Write "<body bgcolor='#FFFFFF' text='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>"
Response.Write "...."
Response.Write "</tr>"
' *******************************************************
' Databaskoppling'*
' *******************************************************
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=D:\www\Webhotell\databas\Notiser.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From Notiser ORDER BY Datum DESC"
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
DO UNTIL RecSet.EOF
If Nummer = True then
color = "FFFFFF"
nummer = False
Else
color = "EDECEC"
nummer = True
End If
If RecSet.EOF Then
Response.Write "<table width='640' align='left'><tr><td align='left'><font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Det finns inga notiser i databasen.</td></tr>"
Response.Write "</tr>"
Response.Write "</table>"
Else
Do While Not Recset.EOF
Response.Write "<tr bgcolor='=color'>"
Response.Write "...."
Response.Write "<td width='52'><font face='Verdana' size='1'>"
RecSet.MOVENEXT
Loop
RecSet.CLOSE
Connect.CLOSE
Set RecSet = nothing
Set Connect = nothing
Response.Write "</font></td>"
Response.Write "<td> </td>"
Response.Write "<td width='83'> </td>"
Response.Write "<td colspan='2'> </td>"
End IF
%><%
Else
Response.Write "<table align='center'><font color='red' size='1' face='verdana'><b>Fel lösenord!</b></font> Tillbaka</table>"
End If
%>
</tr>
</table>
</body>
</html>
Mvh MarcusSv: Fel: Loop förväntas.
Response.Write "</table>"
Else
While Not Recset.EOF
Response.Write "<tr bgcolor='=color'>"
Response.Write "...."
Men då blev det:
Kompileringsfel i Microsoft VBScript (0x800A040E)
'loop' utan 'do'
Mvh MarcusSv: Fel: Loop förväntas.
Sv: Fel: Loop förväntas.
Testa med:
<code>
<!--#include file="installning.asp"-->
<html>
<head>
<title>Admin</title>
<link rel="stylesheet" href="../css/stil.css" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="650" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="19">
<%
If Request.Form("password") = Losen or Session("Login") = "OK" Then
Session("Login") = "OK"
session.lcid = 1053
Response.Write "<table width='640' border='0' cellpadding='0' cellspacing='0'>"
Response.Write "...."
Response.Write "</table>"
Response.Write "<body bgcolor='#FFFFFF' text='#000000' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>"
Response.Write "...."
Response.Write "</tr>"
' *******************************************************
' Databaskoppling'*
' *******************************************************
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};DBQ=D:\www\Webhotell\databas\Notiser.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open "SELECT * FROM Notiser ORDER BY Datum DESC", Connect
If RecSet.EOF Then
Response.Write "<table width='640' align='left'><tr><td align='left'><font color='#000000' size='1' face='Verdana, Arial, Helvetica, sans-serif'>Det finns inga notiser i databasen.</td></tr>"
Response.Write "</tr>"
Response.Write "</table>"
Else
Do Until Recset.EOF
If Nummer then
color = "FFFFFF"
nummer = False
Else
color = "EDECEC"
nummer = True
End If
Response.Write "<tr bgcolor='=color'>"
Response.Write "...."
Response.Write "<td width='52'><font face='Verdana' size='1'>"
RecSet.MOVENEXT
Loop
RecSet.CLOSE
Set RecSet = nothing
Connect.CLOSE
Set Connect = nothing
Response.Write "</font></td>"
Response.Write "<td> </td>"
Response.Write "<td width='83'> </td>"
Response.Write "<td colspan='2'> </td>"
End If
Else
Response.Write "<table align='center'><font color='red' size='1' face='verdana'>Fel lösenord!</font> Tillbaka</table>"
End If
%>
</tr>
</table>
</body>
</html>
</code>Sv: Fel: Loop förväntas.
Har en annan fråga när vi ändå är igång.
Med nedanstående kod så får jag bara en utskrift på "..."
If Len(RecSet("Notis")) > 60 Then
Response.Write Left(Replace(RecSet("Notis") & "",vbCrLf,"<br>"),60) & "..."
Else
Response.Write Replace(RecSet("Notis") & "",vbCrLf,"<br>")
End If
När jag gör en RecSet("Notis") så skrivs hela texten ur Notis ut.
Denna kod är kopierad från ett annat dokument där den funkar, där körs den också fram samma tabell.
Mvh MarcusSv: Fel: Loop förväntas.
<code>
Dim strNotis
strNotis = "" & RecSet("Notis")
If Len(strNotis) > 60 Then
Response.Write Replace(Left(strNotis, 60), vbCrLf, "<br>") & "..."
Else
Response.Write Replace(strNotis, vbCrLf, "<br>")
End If
</code>Sv: Fel: Loop förväntas.
Memo? Är det för att fältet i Access databasen är ett PM som det kan strula?
Tack för idag!
Mvh Marcus