|    
			
				07/05/2004, 06:34
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: mayo-2004 
						Mensajes: 4
					 Antigüedad: 21 años, 5 meses Puntos: 0 |  | 
  |  Consulta Y PaginaciÓn  
  MU WENAS A TODOS, ¿QUÉ TAL?
 Bueno tengo un pequeño problema y espero que algún programador experto me lo pueda solucionar.
 Veamos. Tengo un formulario de búsqueda para buscar tanto por nombre, apellidos, población, e-mail, moto. Cuando le das a buscar salen los 25 primeros registros paginados, tal y como lo indique (pagesize). Pero si quiero ver los 25 siguientes registros, o lo que queda de la consulta (por ej. si sólo hay 30 registros), pulsando el botón adelante, sencillamente no puedo. Me da este error:
 "ADODB.Recordset (0x800A0CC1)
 No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
 /Sociostotal.asp, línea 91"
 
 Ahí va el código...a ver si alguien ve algo que YO NO VEO. Gracias.
 <!-- #include file="Bases de datos/ADOVBS.inc" -->
 <% SUB Rellenar %>
 <% IF rs.Eof then %>
 <h3>¡No se ha econtrado ningün socio que concuerde con su búsqueda!</h3>
 <BR><div align="center"> <table width="180" cellpadding="2" cellspacing="0">
 <td  align="center" class="tablacentral" > <A HREF="consultas.asp"> Realizar
 otra consulta </A> </td>
 </table></div>
 <% END IF %>
 <table border="0" width="605" bgcolor="#C0C0C0">
 <tr bgcolor="0000bc">
 <td width="50%" align="center"><font color="#FFFFFF">Registros<b> <%=inicio%></b> al <b><%=fin%></b> de un total de <b><%=rs.recordcount%></b></font></td>
 <td width="50%" align="center"><font color="#FFFFFF">Página</font> <font color="#FFFFFF"><b><%=session("pagina")%></b> </font> <font color="#FFFFFF">de</font> <font color="#FFFFFF"><b><%=rs.pagecount%></b></font></td>
 </tr>
 </table>
 <BR>
 <table  CELLSPACING="1"  CELLPADDING="2" width="605">
 <tr bgcolor="6f6fff">
 <td align="center"><b><font color="#FFFFFF">Apellidos</font></b></td>
 <td align="center"><font color="#FFFFFF"><b>Nombre</b></font></td>
 <td align="center"><font color="FFFFFF"><B>E-mail</B></font></td>
 <td align="center"><font color="#FFFFFF"><b>Población</b></font></td>
 <td algin="center"> <div align="center"><font color="#FFFFFF"><b>Megaescúter</b></font></div></td>
 <td align="center"><font color="#FFFFFF"><b>Socio</b></font></td>
 </tr>
 <!-- montamos el bucle para mostrar los registros -->
 <%
 contador=0
 Do While contador < rs.pagesize and NOT rs.EOF%>
 <tr bgcolor="f5f5f9">
 <td align="center"><font size="1"><b><%= rs("Apellidos")%></b></font></td>
 <td align="center"><%= rs("Nombre")%></td>
 <td align="center"><%= rs("Correo")%></td>
 <td align="center"><%= rs("Población")%></td>
 <td align="center"><%= rs("Megaescúter")%></td>
 <td align="center"><%= rs("Socio")%></td>
 </tr>
 <% rs.MoveNext
 contador=contador+1
 Loop
 %>
 </table>
 <table border="0" width="38%" height="5">
 <tr><%if session("pagina")<> 1 then %>
 <td width="50%" height="1" align="center">
 <form method="POST" action="Sociostotal.asp">
 <p>
 <input name="direccion" type="submit" class="boton" value="Atrás">
 </p>
 </form>
 </td><%end if%>
 <%if session("pagina")< rs.pagecount then%>
 <td width="50%" height="1" align="center">
 <form method="POST" name="Sociostotal.asp">
 <p>
 <input name="direccion" type="submit" class="boton" value="Adelante">
 </p>
 </form>
 </td><%end if%>
 </tr>
 </table>
 </center>
 </div>
 
 <%END SUB
 SUB Filtro
 sql=""
 conAND=False
 FOR EACH Valores IN Request.Form
 IF Request.Form(Valores) <> "" THEN
 IF conAND THEN
 sql= sql & "AND " & Valores & "='"
 sql= sql & Request.Form(Valores) & "'"
 ELSE
 sql= sql & Valores & "='"
 sql= sql & Request.Form(Valores) & "'"
 conAND= True
 END IF
 END IF
 NEXT
 SQL = Lcase(sql)
 rs.Filter = sql
 END SUB
 xx=request.form("direccion")
 if xx = "Atras" then
 session("pagina")=session("pagina")-1
 if session("pagina")< 1 then
 session("pagina")=1 'evitamos el error por reload
 end if
 
 else
 if xx="Adelante" then
 session("pagina")=session("pagina")+1
 else
 session("pagina")=1 'primera pasada
 end if
 end if
 
 
 IF (Request.Form <> "") THEN
 Set rs = CreateObject ("ADODB.RecordSet")
 rs.CursorType = adOpenStatic
 SQLtxt = "SELECT Apellidos, Nombre, Correo, Población, Megaescúter, Socio FROM Socios"
 rs.Open SQLtxt, "DSN=Bases de datos"
 rs.pagesize=25
 
 
 if session("pagina")>rs.pagecount then
 session("pagina")=rs.pagecount 'evitamos el error de reload
 end if
 
 rs.absolutepage=session("pagina")
 inicio=1+(session("pagina")-1)*rs.pagesize
 fin=inicio+24
 if fin > rs.recordcount then
 fin =rs.recordcount
 end if
 
 
 FILTRO ()
 RELLENAR ()
 rs.Close
 
 ELSE%>
 <%END IF %>
 
 </body></html>
     |