Börja med att fixa till koden lite så kommer det bli betydligt lättare att lösa ditt problem. :)
a) Intendera
b) Ta bort alla onödiga blankrader
c) Ta bort onödiga avgränsare (<% och %>)
:)
17 svar · 418 visningar · startad av JPS
Hittade denna kod på en annan sida och försökte få hjälp av dem men inga svar - vet någon vad felet är?
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/snippets_ny/Projekt/ToDo_lista.asp, line 47
Rad 47. RecSet.AbsolutePage = nextPage
<%
nextPage = TRIM( Request( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Db/Snippets.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request.querystring("Projekt_ToDo_status")="Alla" then
SQL = "SELECT * FROM Projekt_ToDo"
else
SQL = "SELECT * FROM Projekt_ToDo where Status = '" & Request.querystring("Projekt_ToDo_status") & "' "
end if
RecSet.Open SQL, Connect, 3,3
RecSet.PageSize = 30
RecSet.AbsolutePage = nextPage
%>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="list00" width="20">Nr.</td>
<td class="list00" width="70">Datum</td>
<td class="list00">Notering</td>
<td class="list00" width="20">Tid</td>
<td class="list00" width="20">Visa</td>
</tr>
<% TableColor = 0 %>
<%
Do until RecSet.EOF OR rowCount > RecSet.PageSize
rowCount = rowCount + 1
if TableColor Mod 2 = 1 then
Color = "list01"
else
Color = "list02"
end if
%>
<tr>
<td class="<%= Color %>" align="right"><% = Raknare%>.</td>
<td class="<%= Color %>"><font color="#960018"><% = RecSet("Datum")%></font></td>
<td class="<%= Color %>"><% =AntalTeck(RecSet("Not_01"), 40)%></td>
<td class="<%= Color %>" align="right"><% = RecSet("Tid")%> </td>
<form method="POST" action="ToDo_Visa.asp">
<td class="<%= Color %>">
<input type="hidden" value="<%= RecSet("Projekt_ToDo_Id")%>" name="Projekt_ToDo_Id">
<input type="image" src="Pic/Visa_smal.gif" alt=" Visa posten " border=0>
</td></form>
</tr>
<% TableColor = TableColor + 1 %>
<%
'Loopa igenom
RecSet.MoveNext
Loop
%>
</table>
<table border="0" cellpadding="2" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff"> Sida </td>
<%
' Börja paging
IF RecSet.PageCount > 1 THEN
FOR a = 1 to RecSet.PageCount
%>
<% IF a <> cINT( nextPage ) THEN %>
<%
Response.Write "<a href=ToDo_lista.asp?nextPage="& a &">"& a &"</a>"
ELSE
Response.Write " "& a
%>
<%
END IF
NEXT
END IF
%>
</tr>
</table>
Börja med att fixa till koden lite så kommer det bli betydligt lättare att lösa ditt problem. :)
a) Intendera
b) Ta bort alla onödiga blankrader
c) Ta bort onödiga avgränsare (<% och %>)
:)
<%
nextPage = TRIM( Request( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Db/Snippets.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request.querystring("Projekt_ToDo_status")="Alla" then
SQL = "SELECT * FROM Projekt_ToDo"
else
SQL = "SELECT * FROM Projekt_ToDo where Status = '" & Request.querystring("Projekt_ToDo_status") & "' "
end if
RecSet.Open SQL, Connect, 3,3
RecSet.PageSize = 30
RecSet.AbsolutePage = nextPage
%>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="list00" width="20">Nr.</td>
<td class="list00" width="70">Datum</td>
<td class="list00">Notering</td>
<td class="list00" width="20">Tid</td>
<td class="list00" width="20">Visa</td>
</tr>
<% TableColor = 0
Do until RecSet.EOF OR rowCount > RecSet.PageSize
rowCount = rowCount + 1
if TableColor Mod 2 = 1 then
Color = "list01"
else
Color = "list02"
end if
%>
<tr>
<td class="<%= Color %>" align="right"><% = Raknare%>.</td>
<td class="<%= Color %>"><font color="#960018"><% = RecSet("Datum")%></font></td>
<td class="<%= Color %>"><% =AntalTeck(RecSet("Not_01"), 40)%></td>
<td class="<%= Color %>" align="right"><% = RecSet("Tid")%> </td>
<form method="POST" action="ToDo_Visa.asp">
<td class="<%= Color %>">
<input type="hidden" value="<%= RecSet("Projekt_ToDo_Id")%>" name="Projekt_ToDo_Id">
<input type="image" src="Pic/Visa_smal.gif" alt=" Visa posten " border=0>
</td></form>
</tr>
<% TableColor = TableColor + 1
'Loopa igenom
RecSet.MoveNext
Loop
%>
</table>
<table border="0" cellpadding="2" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff"> Sida </td>
<%
' Börja paging
IF RecSet.PageCount > 1 THEN
FOR a = 1 to RecSet.PageCount
IF a <> cINT( nextPage ) THEN
Response.Write "<a href=ToDo_lista.asp?nextPage="& a &">"& a &"</a>"
ELSE
Response.Write " "& a
END IF
NEXT
END IF
%>
</tr>
</table>
Kör koden. Markera i fet stil var det blir fel.
:)
Ok!
<%
nextPage = TRIM( Request( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Db/Snippets.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request.querystring("Projekt_ToDo_status")="Alla" then
SQL = "SELECT * FROM Projekt_ToDo"
else
SQL = "SELECT * FROM Projekt_ToDo where Status = '" & Request.querystring("Projekt_ToDo_status") & "' "
end if
RecSet.Open SQL, Connect, 3,3
RecSet.PageSize = 30
[B]RecSet.AbsolutePage = nextPage[/B]
%>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="list00" width="20">Nr.</td>
<td class="list00" width="70">Datum</td>
<td class="list00">Notering</td>
<td class="list00" width="20">Tid</td>
<td class="list00" width="20">Visa</td>
</tr>
<% TableColor = 0
Do until RecSet.EOF OR rowCount > RecSet.PageSize
rowCount = rowCount + 1
if TableColor Mod 2 = 1 then
Color = "list01"
else
Color = "list02"
end if
%>
<tr>
<td class="<%= Color %>" align="right"><% = Raknare%>.</td>
<td class="<%= Color %>"><font color="#960018"><% = RecSet("Datum")%></font></td>
<td class="<%= Color %>"><% =AntalTeck(RecSet("Not_01"), 40)%></td>
<td class="<%= Color %>" align="right"><% = RecSet("Tid")%> </td>
<form method="POST" action="ToDo_Visa.asp">
<td class="<%= Color %>">
<input type="hidden" value="<%= RecSet("Projekt_ToDo_Id")%>" name="Projekt_ToDo_Id">
<input type="image" src="Pic/Visa_smal.gif" alt=" Visa posten " border=0>
</td></form>
</tr>
<% TableColor = TableColor + 1
'Loopa igenom
RecSet.MoveNext
Loop
%>
</table>
<table border="0" cellpadding="2" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff"> Sida </td>
<%
' Börja paging
IF RecSet.PageCount > 1 THEN
FOR a = 1 to RecSet.PageCount
IF a <> cINT( nextPage ) THEN
Response.Write "<a href=ToDo_lista.asp?nextPage="& a &">"& a &"</a>"
ELSE
Response.Write " "& a
END IF
NEXT
END IF
%>
</tr>
</table>
Jag har ingen aning om det kommer hjälpa men kör på lite typkonvertering, det är alltid ett smart drag!
nextPage = TRIM(Int(( Request( "nextPage" ) ))
:)
Nej, tyvärr!
trexter.com skrev:
nextPage = TRIM(Int(( Request( "nextPage" ) ))
nextpage = Trim(CInt(Request("nextpage")))
Vad innehåller (querystringen) nextpage när du kommer till sidan och får felmeddelandet? Får du det alltid?
Du måste göra en kontroll om recordsetet innehåller ngn "sida":
testa:
If Not RecSet.EOF Then RecSet.AbsolutePage = nextPage
cya,
PatrikB
Med koden
nextpage = Trim(CInt(Request("nextpage")))
blir felmeddelandet
Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.
/snippets/Projekt/ToDo_Lista.asp, line 47
och med koden
[KOD]If Not RecSet.EOF Then RecSet.AbsolutePage = nextPageKOD]
visas sidan fast utan poster.
:q
Länkarna blir tal
<a href=ToDo_lista.asp?nextPage="& a &">"& a &"</a>
<a href=ToDo_lista.asp?nextPage=1>1</a>
<a href=ToDo_lista.asp?nextPage=2>2</a>
osv.
Säger inte vad nextPage variabeln innehåller.
Du får skriva ut nextPage efter att du har tilldelat den något värde.
nextPage = TRIM( Request( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1
Response.Write "<P>nextPage: " & nextPage & "</P>"
cya,
PatrikB
På förstasidan blirvärdet: nextPage: 1
efter klick på länk nextPage: 2 osv.
nextPage = TRIM(Request( "nextPage" ))
IF nextPage = "" THEN nextPage = 1
Response.Write "<P>nextPage: " & nextPage & "</P>"
Får du fortfarande felmeddelanden?
Hur ser din kod ut nu?
Har du kikat hur HTML koden ser ut som du får tillbaka?
cya,
PatrikB
Förstasidan funkar - skrivs ut helt rätt - sen är det stopp!
Med senaste koden (fetstil) så listas inga poster men annars visas sidan som den skall.
ASP
<%
nextPage = TRIM(Request( "nextPage" ))
IF nextPage = "" THEN nextPage = 1
Response.Write "<P>nextPage: " & nextPage & "</P>"
nextPage = TRIM( Request( "nextPage" ) )
'nextpage = Trim(CInt(Request("nextpage")))
IF nextPage = "" THEN nextPage = 1
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../Db/Snippets.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request.querystring("Projekt_ToDo_status")="Alla" then
SQL = "SELECT * FROM Projekt_ToDo"
else
SQL = "SELECT * FROM Projekt_ToDo where Status = '" & Request.querystring("Projekt_ToDo_status") & "' "
end if
RecSet.Open SQL, Connect, 3,3
RecSet.PageSize = 30
[B]If Not RecSet.EOF Then RecSet.AbsolutePage = nextPage[/B]
'RecSet.AbsolutePage = nextPage
%>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="list00" width="20">Nr.</td>
<td class="list00" width="70">Datum</td>
<td class="list00">Notering</td>
<td class="list00" width="20">Tid</td>
<td class="list00" width="20">Visa</td>
</tr>
<% TableColor = 0 %>
<%
Do until RecSet.EOF OR rowCount > RecSet.PageSize
rowCount = rowCount + 1
if TableColor Mod 2 = 1 then
Color = "list01"
else
Color = "list02"
end if
%>
<tr>
<td class="<%= Color %>" align="right"><% = Raknare%>.</td>
<td class="<%= Color %>"><font color="#960018"><% = RecSet("Datum")%></font></td>
<td class="<%= Color %>"><% =AntalTeck(RecSet("Not_01"), 40)%></td>
<td class="<%= Color %>" align="right"><% = RecSet("Tid")%> </td>
<form method="POST" action="ToDo_Visa.asp">
<td class="<%= Color %>">
<input type="hidden" value="<%= RecSet("Projekt_ToDo_Id")%>" name="Projekt_ToDo_Id">
<input type="image" src="Pic/Visa_smal.gif" alt=" Visa posten " border=0>
</td></form>
</tr>
<% TableColor = TableColor + 1 %>
<%
'Loopa igenom
RecSet.MoveNext
Loop
%>
</table>
<table border="0" cellpadding="2" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff"> Sida </td>
<%
' Börja paging
IF RecSet.PageCount > 1 THEN
FOR a = 1 to RecSet.PageCount
%>
<% IF a <> cINT(nextPage) THEN %>
<%
Response.Write "<a href=ToDo_lista.asp?nextPage="& a &">"& a &"</a>"
ELSE
Response.Write " "& a
%>
<%
END IF
NEXT
END IF
%>
</tr>
</table>
Html
<P>nextPage: 1</P>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="list00" width="20">Nr.</td>
<td class="list00" width="70">Datum</td>
<td class="list00">Notering</td>
<td class="list00" width="20">Tid</td>
<td class="list00" width="20">Visa</td>
</tr>
<tr>
<td class="list02" align="right">.</td>
<td class="list02"><font color="#960018">2001-08-28</font></td>
<td class="list02">Möte med Olof om fortsatta arbete med he...</td>
<td class="list02" align="right">2 </td>
<form method="POST" action="ToDo_Visa.asp">
<td class="list02">
<input type="hidden" value="8" name="Projekt_ToDo_Id">
<input type="image" src="Pic/Visa_smal.gif" alt=" Visa posten " border=0>
</td></form>
</tr>
osv.
</table>
<table border="0" cellpadding="2" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff"> Sida </td>
1<a href=ToDo_lista.asp?nextPage=2>2</a><a href=ToDo_lista.asp?nextPage=3>3</a><a href=ToDo_lista.asp?nextPage=4>4</a><a href=ToDo_lista.asp?nextPage=5>5</a><a href=ToDo_lista.asp?nextPage=6>6</a><a href=ToDo_lista.asp?nextPage=7>7</a><a href=ToDo_lista.asp?nextPage=8>8</a><a href=ToDo_lista.asp?nextPage=9>9</a><a href=ToDo_lista.asp?nextPage=10>10</a><a href=ToDo_lista.asp?nextPage=11>11</a><a href=ToDo_lista.asp?nextPage=12>12</a><a href=ToDo_lista.asp?nextPage=13>13</a><a href=ToDo_lista.asp?nextPage=14>14</a><a href=ToDo_lista.asp?nextPage=15>15</a><a href=ToDo_lista.asp?nextPage=16>16</a><a href=ToDo_lista.asp?nextPage=17>17</a><a href=ToDo_lista.asp?nextPage=18>18</a><a href=ToDo_lista.asp?nextPage=19>19</a><a href=ToDo_lista.asp?nextPage=20>20</a><a href=ToDo_lista.asp?nextPage=21>21</a><a href=ToDo_lista.asp?nextPage=22>22</a><a href=ToDo_lista.asp?nextPage=23>23</a><a href=ToDo_lista.asp?nextPage=24>24</a><a href=ToDo_lista.asp?nextPage=25>25</a><a href=ToDo_lista.asp?nextPage=26>26</a><a href=ToDo_lista.asp?nextPage=27>27</a><a href=ToDo_lista.asp?nextPage=28>28</a><a href=ToDo_lista.asp?nextPage=29>29</a><a href=ToDo_lista.asp?nextPage=30>30</a>
</tr>
</table>
Testa denna kod:
nextPage = TRIM(Request( "nextPage" ))
IF nextPage = "" THEN nextPage = 1
Response.Write "<P>nextPage: " & nextPage & "</P>"
nextPage = TRIM( Request( "nextPage" ) )
'nextpage = Trim(CInt(Request("nextpage")))
IF nextPage = "" THEN nextPage = 1
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & _Server.MapPath("../Db/Snippets.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request.querystring("Projekt_ToDo_status")="Alla" then
SQL = "SELECT * FROM Projekt_ToDo"
else
SQL = "SELECT * FROM Projekt_ToDo where Status = '" & Request.querystring("Projekt_ToDo_status") & "' "
end if
RecSet.Open SQL, Connect, 3,3
RecSet.PageSize = 30
If Not RecSet.EOF Then
RecSet.AbsolutePage = nextPage
'RecSet.AbsolutePage = nextPage
%>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td class="list00" width="20">Nr.</td>
<td class="list00" width="70">Datum</td>
<td class="list00">Notering</td>
<td class="list00" width="20">Tid</td>
<td class="list00" width="20">Visa</td>
</tr>
<%
TableColor = 0
Do until RecSet.EOF OR rowCount > RecSet.PageSize
rowCount = rowCount + 1
if TableColor Mod 2 = 1 then
Color = "list01"
else
Color = "list02"
end if
%>
<tr>
<td class="<%= Color %>" align="right"><% = Raknare%>.</td>
<td class="<%= Color %>"><font color="#960018"><% = RecSet("Datum")%></font></td>
<td class="<%= Color %>"><% =AntalTeck(RecSet("Not_01"), 40)%></td>
<td class="<%= Color %>" align="right"><% = RecSet("Tid")%> </td>
<form method="POST" action="ToDo_Visa.asp">
<td class="<%= Color %>">
<input type="hidden" value="<%= RecSet("Projekt_ToDo_Id")%>" name="Projekt_ToDo_Id">
<input type="image" src="Pic/Visa_smal.gif" alt=" Visa posten " border=0>
</td></form>
</tr>
<%
TableColor = TableColor + 1
'Loopa igenom
RecSet.MoveNext
Loop
%>
</table>
<%
Else
'## -- inga poster hittades i recordsetet. printa ut ett meddelande --
Response.Write "INGA POSTER RETURNERADES"
End If '## -- end RecSet.EOF checken --
%>
<table border="0" cellpadding="2" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff"> Sida </td>
<%
' Börja paging
IF RecSet.PageCount > 1 THEN
FOR a = 1 to RecSet.PageCount
IF a <> cINT(nextPage) THEN
Response.Write "<a href=ToDo_lista.asp?nextPage="& a &">"& a &"</a>"
ELSE
Response.Write " "& a
END IF
NEXT
END IF
%>
</tr>
</table>
kika igenom den noga så ser du att jag har ändrat på ett par ställen.
cya,
PatrikB
Jepp, fungerar som en klocka.
Tackar för hjälpen! :birp