Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/05/2004, 11:33
fedegrillo
 
Fecha de Ingreso: abril-2004
Mensajes: 18
Antigüedad: 21 años, 1 mes
Puntos: 0
Para no avusar de vuestra amabilidad , como hago para implementar en el siguiente codigo un formulario que tipeado por el usuario me busque xxx palabra en la base de datos ?

En el codigo me muestra la base entera :

<%
Option Explicit
Dim pag, iEstado
Dim oConn, SQL, rs
Dim aDatos, iTotal
Dim I, J

'Nos conectamos a la base de datos...
set oConn = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db1.mdb")

SQL="SELECT * FROM Ventas"
'Vamos a utilizar el Recordset más eficiente
'CursorType = Forward-Only
rs.CursorType = 0
'LockType = Read-Only
rs.LockType = 1
'CursorLocation = adUseClient
rs.CursorLocation = 3
'Y abrimos el Recordset
rs.Open SQL, oConn
'Obtengo los datos con GetRows
aDatos = rs.GetRows
'Cierro y limpio objetos ya
rs.Close
oConn.Close
set rs = nothing
set oConn = nothing

'Obtengo la página a mostrar de
'la querystring
pag = CInt(Request.QueryString("P"))
'Y llamo a PaginarGR
iEstado = PaginarGR (10, pag, aDatos)


'================================================= ====================================
' PaginarGR -- Pagina un vector bidimensional
' vector es el vector a paginar, iPag la página a mostrar y iRegsPorPag el nº de
' registros por cada página que queremos.
'================================================= ====================================
Function PaginarGR (iRegsPorPag, iPag, vector)
'
'I, J se utilizan para recorrer el vector
Dim I, J
'Total de páginas y la página que queremos mostrar
Dim iPaginas, iPagActual
'Total de registros, registro en que empezamos y registro en que terminamos
Dim iTotal, iComienzo, iFin

'Hallo el total de registros devueltos
iTotal = UBound(aDatos,2)+1
'Calculo el numero de páginas que tenemos
iPaginas = (iTotal \ iRegsPorPag)
'Si daba decimales, añado una más
'para mostrar los últimos registros
if iTotal mod iRegsPorPag > 0 then
iPaginas = iPaginas + 1
end if
'Si no es una página válida, comienzo en la primera
if iPag < 1 then
iPag = 1
end if
'Si es una página mayor al nº de páginas, comienzo en la última
if iPag > iPaginas then
iPag = iPaginas
end if
Response.Write("Página " & iPag & " de " & iPaginas & " (" & iTotal & " registros)<br>")
'Calculo el índice donde comienzo:
iComienzo = (iPag-1)*iRegsPorPag
'y donde termino:
iFin = iComienzo + (iRegsPorPag-1)
'Si no tengo suficientes registros restantes,
'voy hasta el final
if iFin > UBound(vector, 2) then
iFin = UBound(vector, 2)
end if
'Pinto la tabla
Response.Write("<TABLE BORDER=""1"">")
for I= iComienzo to iFin
Response.Write("<TR>")
for J=0 to UBound(vector,1)
Response.Write("<TD>" & vector(J,I) & "</TD>")

next
next
Response.Write("</TABLE>")

'Imprimo enlaces, si son necesarios
if iPag > 1 then
Response.Write("<A HREF=""grpaginar.asp?P="&iPag-1&""">Anterior</A>&nbsp;&nbsp;")
end if
if iPag < iPaginas then
Response.Write("<A HREF=""grpaginar.asp?P="&iPag+1&""">Siguiente</A>&nbsp;")
end if

PaginarGR = 0


End Function