Set RecSet = Conn.Execute("SELECT Top fraga, pollid From poll_rosta Order by PollId desc")
sen måste du lägga in en RecSet.MoveNext o Loop nån stans men det orkar jag inte titta efter
24 svar · 572 visningar · startad av tank82
Hej hej! :birp
Jag skulle vilja ändra denna kod så att den "listar" alla poster istället för att bara visa den senaste,
jag har börjat mixtra med koden med får den inte att fungera, kan någon snäll person hjälpa mig... :r
<%
Response.Buffer = "True"
bredd = "110"
breddF = "100"
breddR = "10"
db = Server.MapPath("db.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
Storlek = breddF/100
If Request.Querystring("page") = "" Then
%>
<html>
<body leftmargin="1" topmargin="1" marginwidth="1" marginheight="1">
<table>
<%
Set RecSet = Conn.Execute("SELECT Top 1 fraga, pollid From poll_rosta Order by PollId desc")
Response.Write(" <table border=""0"" cellpadding=""0"" cellspacing=""1"" align=""center"" width=""" & Bredd & """>" & vbCrLf)
If RecSet.EOF Then
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""><b>Här var det tomt..</b></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Else
strFraga = RecSet("fraga")
intPollID = RecSet("pollid")
Set RecSet = Nothing
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""3""><b>" & strFraga & "</b></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Set Svar = Conn.Execute("SELECT svar From poll_svar Where pollID=" & intPollID)
totalt = Conn.Execute("SELECT COUNT(svar) From poll_svar Where pollID=" & intPollID)(0)
If Svar.EOF Then
intSvarEtt = 0
intSvarTva = 0
intSvarTre = 0
intSvarFyra = 0
intProc1 = 0
intProc2 = 0
intProc3 = 0
intProc4 = 0
Else
Do Until Svar.EOF
stat = CInt(Svar("svar"))
If stat = 1 Then
intSvarEtt = intSvarEtt + 1
ElseIf stat = 2 Then
intSvarTva = intSvarTva + 1
ElseIf stat = 3 Then
intSvarTre = intSvarTre + 1
ElseIf stat = 4 Then
intSvarFyra = intSvarFyra + 1
End If
Svar.MoveNext
Loop
intProc1 = Round(intSvarEtt / totalt * 100, 0)
intProc2 = Round(intSvarTva / totalt * 100, 0)
intProc3 = Round(intSvarTre / totalt * 100, 0)
intProc4 = Round(intSvarFyra / totalt * 100, 0)
End If
Set Svar = Conn.Execute("SELECT TOP 1 svar1, svar2, svar3, svar4 FROM poll_rosta ORDER BY pollid DESC")
If Request.Querystring("page") = "" Then
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar1") & " l " & intProc1 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#7090B8"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc1 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar2") & " l " & intProc2 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#7090B8"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc2 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar3") & " l " & intProc3 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#7090B8"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc3 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar4") & " l " & intProc4 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#7090B8"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc4 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td rowspan=""2"" width=""" & breddR & """ valign=""bottom"" align=""right""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
End If
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Svar.Close
Set Svar = nothing
End If
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Response.Write(" </table>" & vbCrLf)
%>
</body>
</html>
<%
End If
Conn.Close
Set Conn = nothing
%>
Set RecSet = Conn.Execute("SELECT Top fraga, pollid From poll_rosta Order by PollId desc")
sen måste du lägga in en RecSet.MoveNext o Loop nån stans men det orkar jag inte titta efter
hmm ok kan någon annan hjälpa mig då kanske... :q
Microsoft JET Database Engine error '80040e14'
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
rosta.asp, line 42
panik! snälla hjälp mig någon :r
ok?
Nu har jag denna kod, med fortfarande bara den senaste "omröstningen" ? hjälp =/
<%
Response.Buffer = "True"
bredd = "110"
breddF = "100"
breddR = "10"
db = Server.MapPath("db.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
Storlek = breddF/100
If Request.Querystring("page") = "" Then
%>
<html>
<body leftmargin="1" topmargin="1" marginwidth="1" marginheight="1">
<table>
<%
Set RecSet = Conn.Execute("SELECT fraga, pollid From poll_rosta Order by PollId desc")
Response.Write(" <table border=""0"" cellpadding=""0"" cellspacing=""1"" align=""center"" width=""" & Bredd & """>" & vbCrLf)
If RecSet.EOF Then
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""><b>Här var det tomt..</b></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Else
strFraga = RecSet("fraga")
intPollID = RecSet("pollid")
Set RecSet = Nothing
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""3""><b>" & strFraga & "</b></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Set Svar = Conn.Execute("SELECT svar From poll_svar Where pollID=" & intPollID)
totalt = Conn.Execute("SELECT COUNT(svar) From poll_svar Where pollID=" & intPollID)(0)
If Svar.EOF Then
intSvarEtt = 0
intSvarTva = 0
intSvarTre = 0
intSvarFyra = 0
intProc1 = 0
intProc2 = 0
intProc3 = 0
intProc4 = 0
Else
Do Until Svar.EOF
stat = CInt(Svar("svar"))
If stat = 1 Then
intSvarEtt = intSvarEtt + 1
ElseIf stat = 2 Then
intSvarTva = intSvarTva + 1
ElseIf stat = 3 Then
intSvarTre = intSvarTre + 1
ElseIf stat = 4 Then
intSvarFyra = intSvarFyra + 1
End If
Svar.MoveNext
Loop
intProc1 = Round(intSvarEtt / totalt * 100, 0)
intProc2 = Round(intSvarTva / totalt * 100, 0)
intProc3 = Round(intSvarTre / totalt * 100, 0)
intProc4 = Round(intSvarFyra / totalt * 100, 0)
End If
Set Svar = Conn.Execute("SELECT TOP 1 svar1, svar2, svar3, svar4 FROM poll_rosta ORDER BY pollid DESC")
If Request.Querystring("page") = "" Then
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar1") & " l " & intProc1 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc1 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar2") & " l " & intProc2 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc2 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar3") & " l " & intProc3 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc3 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar4") & " l " & intProc4 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc4 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td rowspan=""2"" width=""" & breddR & """ valign=""bottom"" align=""right""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
End If
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Svar.Close
Set Svar = nothing
End If
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Response.Write(" </table>" & vbCrLf)
%>
</body>
</html>
<%
End If
Conn.Close
Set Conn = nothing
%>
Du får slänga in en loop efter det att du öppnat recordsetet.
while not RecSet.eof
' här lägger du all kod som ska köras för varje post i recordsetet.
RecSet.movenext
wend
mvh
:( jag förstår inte, kan du lägga in koden åt mig så det blir rätt... snälla
vill fortfarande ha hjälp.. :r
^^
Där var det en massa kod ja.
Jag vill ju helst att du löser det själv, så hur ser ditt försök ut?
Mvh
Nja jag har testat lite dock utan resultat.. jag är inte så hajj på detta :OO
Jag slängde in loop-kod lite snabbt, och ändrade en sql-fråga (fetmarkerad). Vi börjar där och ser vad som händer.
<%
Response.Buffer = "True"
bredd = "110"
breddF = "100"
breddR = "10"
db = Server.MapPath("db.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db
Storlek = breddF/100
If Request.Querystring("page") = "" Then
%>
<html>
<body leftmargin="1" topmargin="1" marginwidth="1" marginheight="1">
<table>
<%
Set RecSet = Conn.Execute("SELECT fraga, pollid From poll_rosta Order by PollId desc")
Response.Write(" <table border=""0"" cellpadding=""0"" cellspacing=""1"" align=""center"" width=""" & Bredd & """>" & vbCrLf)
If RecSet.EOF Then
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""><b>Här var det tomt..</b></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Else
[b]while not RecSet.EOF[/b]
strFraga = RecSet("fraga")
intPollID = RecSet("pollid")
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""3""><b>" & strFraga & "</b></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Set Svar = Conn.Execute("SELECT svar From poll_svar Where pollID=" & intPollID)
totalt = Conn.Execute("SELECT COUNT(svar) From poll_svar Where pollID=" & intPollID)(0)
If Svar.EOF Then
intSvarEtt = 0
intSvarTva = 0
intSvarTre = 0
intSvarFyra = 0
intProc1 = 0
intProc2 = 0
intProc3 = 0
intProc4 = 0
Else
Do Until Svar.EOF
stat = CInt(Svar("svar"))
If stat = 1 Then
intSvarEtt = intSvarEtt + 1
ElseIf stat = 2 Then
intSvarTva = intSvarTva + 1
ElseIf stat = 3 Then
intSvarTre = intSvarTre + 1
ElseIf stat = 4 Then
intSvarFyra = intSvarFyra + 1
End If
Svar.MoveNext
Loop
intProc1 = Round(intSvarEtt / totalt * 100, 0)
intProc2 = Round(intSvarTva / totalt * 100, 0)
intProc3 = Round(intSvarTre / totalt * 100, 0)
intProc4 = Round(intSvarFyra / totalt * 100, 0)
End If
[b]Set Svar = Conn.Execute("SELECT svar1, svar2, svar3, svar4 FROM poll_rosta WHERE pollID=" & intPollID)[/b]
If Request.Querystring("page") = "" Then
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar1") & " l " & intProc1 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc1 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar2") & " l " & intProc2 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc2 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar3") & " l " & intProc3 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc3 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td width=""" & bredd & """>" & Svar("svar4") & " l " & intProc4 & "%</td></tr>" & vbCrLf)
Response.Write(" <td width=""" & BreddF & """ bgcolor=""#838995"" height=""10""><img src=""rosta/bild.gif"" width=""" & intProc4 & "%"" height=""10"" border=""1""></td></tr>" & vbCrLf)
Response.Write(" <td rowspan=""2"" width=""" & breddR & """ valign=""bottom"" align=""right""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
End If
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Svar.Close
Set Svar = nothing
[b]RecSet.MoveNext[/b]
[b]wend[/b]
End If
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Response.Write(" <tr>" & vbCrLf)
Response.Write(" <td colspan=""2""></td>" & vbCrLf)
Response.Write(" </tr>" & vbCrLf)
Response.Write(" </table>" & vbCrLf)
%>
</body>
</html>
<%
End If
Conn.Close
Set Conn = nothing
%>
mvh
Microsoft VBScript runtime error '800a01a8'
Object required
arkiv.asp, line 117
rad 117 = RecSet.MoveNext
Fungerar kanon, tack så mycket :birp
Hmm skit också, det fungerade inte riktigt som det ska med uträkningen av procenten, jag får så konstiga uträkningar typ Svar 1 = 234% svar 2 = 112% osv... ?
Du får försöka isolera problemet. Skriv ut testutskrifter av allt du använder, så du kan se vad det är som strular till det.
mvh
uhh ? hmm.. hjälp typ :r
Vilka variabler är det som felar? Skriv ut dess värden med response.write vid olika tillfällen.
- - - - - - -
jag skulle dock tro att det är nollställningen av variablerna som ligger fel. Ändra till följande, så kanske det fungerar bättre:
intSvarEtt = 0
intSvarTva = 0
intSvarTre = 0
intSvarFyra = 0
intProc1 = 0
intProc2 = 0
intProc3 = 0
intProc4 = 0
If not Svar.EOF Then
Do Until Svar.EOF
stat = CInt(Svar("svar"))
If stat = 1 Then
intSvarEtt = intSvarEtt + 1
ElseIf stat = 2 Then
intSvarTva = intSvarTva + 1
ElseIf stat = 3 Then
intSvarTre = intSvarTre + 1
ElseIf stat = 4 Then
intSvarFyra = intSvarFyra + 1
End If
Svar.MoveNext
Loop
intProc1 = Round(intSvarEtt / totalt * 100, 0)
intProc2 = Round(intSvarTva / totalt * 100, 0)
intProc3 = Round(intSvarTre / totalt * 100, 0)
intProc4 = Round(intSvarFyra / totalt * 100, 0)
End If
Mvh Loop