Domingo 22 de Diciembre de 2024, 19:01
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Se Podra Hacer Este Tipo De Form ????
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Se Podra Hacer Este Tipo De Form ???? (Leído 1876 veces)
zareth
Miembro activo
Mensajes: 36
Se Podra Hacer Este Tipo De Form ????
«
en:
Miércoles 7 de Septiembre de 2005, 03:02 »
0
hola gente
como estan aki otra vez con una pekeña consulta, les cuento ke tengo un formulario ke kontiene una grilla (datagrid) ke la kargo mediante kodigo, por ser tantos registros demora en mostrarme el formulario, estuve pensando y llege a esto
... se podra hacer ke esa grilla (DATAGRID) solo kargue determinado numero de registros (por ejemplo 100 registros) y ke luego mediante un boton el cual indica siguiente me muestre los otros 100 registros y asi sucesivamente y obiamente tenga otro boton donde me indike anterior (claro esta
)
, osea es la misma idea ke cuando uno tiene una cuenta de correo no e has percatado ke kuendo abres la bandeja te muestra los primeros 25 y presionas flecha siguiente y muestra el resto "manteniendo el numero de registros a mostrar"
, al final se podra llegar a esto..... algun comentario o a alguien ke se puso esn este dilema... saludos cordiales y a la espera de sus comentarios
z4r3th
Tweet
cee
Miembro activo
Mensajes: 40
Re: Se Podra Hacer Este Tipo De Form ????
«
Respuesta #1 en:
Miércoles 7 de Septiembre de 2005, 15:56 »
0
si se puede utiliza en tu consulta un count(nombre) por ejemplo y donde dices where count <100 y listo
suerte
Jose Arriagada
Miembro MUY activo
Mensajes: 373
Re: Se Podra Hacer Este Tipo De Form ????
«
Respuesta #2 en:
Miércoles 7 de Septiembre de 2005, 18:01 »
0
Si tus registros tienen algun campo que se indice, entonces, si puedes hacerlo, utilizando el primer y ultimo indice obtenido de la primera consulta.
Posteriormente, al presionar "SIGUIENTE", tu consulta comienza desde el indice ULTIMO de la consulta ANTERIOR.
Otra modalidad es, crear una pila de datos que contengan, el primer y ultimo registro, y que el posicionador de la pila, el el contador de botones SIGUIENTE y ANTERIOR.
jimmy007
Nuevo Miembro
Mensajes: 12
Re: Se Podra Hacer Este Tipo De Form ????
«
Respuesta #3 en:
Jueves 8 de Septiembre de 2005, 06:15 »
0
Lo ke tienes ke hacer es paginar los resultados, depende tambien de ke base de datos uses si usas MySQL con LIMIT paginas, si estas con SQL Server lo puedes hacer con un SP asi:
Código: Text
En el ejemplo extraemos un listado de la base de datos Northwind de productos ordenados por categorías, extraemos los campos ID del producto, nombre del producto y nombre de la categoría. El Stored Procedure recibe dos parámetros:
- Index, el número de página que queremos mostrar
- NumRegs, el número máximo de registros a mostrar por página.
Create Procedure Paginacion_Registros
--Número de página a mostrar
@index integer
-- Total de resgistros por página
@NumRegs integer
As
-- Declaramos dos variables que serán los índices mayor
-- y menor del filtro de paginación
Declare @Maximo numeric
Declare @Minimo numeric
-- Y asignamos los valores que le corresponden a cada página
-- la asignación de los límites se realiza de la siguiente forma:
-- si index = 1 y NumRegs = 10, entonces los registros a mostrar
-- son del 1 al 10, si index = 2, los registros a mostrar son del 11 al 20
-- y asi sucesivamente.
Select @Maximo = (@index * @NumRegs)
Select @Minimo = @Maximo - (@NumRegs - 1)
-- Creamos la tabla temporal para la paginación,
-- con un campo auto numérico que será el que nos
-- sirva de índice a la hora de extraer los registros.
Create Table #tmpListado (
nOrden INT IDENTITY(1,1),
IDProducto numeric,
NombreProducto varchar(40),
NombreCategoria varchar(15)
)
-- Insertamos en la tabla temporal directamente del select
Insert #tmpListado Select Products.ProductID, Products.ProductName,
Categories.CategoryName
From Products, Categories
Where Products.CategoryID = Categories.CategoryID
order by Categories.CategoryName
-- Una vez tenemos los datos en la tabla temporal los extraemos
-- con un select filtrados por los valores de paginación
-- @Maximo y @Minimo
Select IDProducto, NombreProducto, NombreCategoria
FROM #tmpListado
WHERE (nOrden BETWEEN @Minimo AND @Maximo)
Si pruebas el ejemplo y vas cambiando el valor de index veras como va paginando el Stored Procedure.
---------------------------------------------------------
Tambien puedes paginar desde un recordset, por ejemplo:
Código: Text
Este ejemplo utiliza las propiedades AbsolutePage, PageCount y PageSize para mostrar los nombres completos y las fechas de contratación de la tabla Empleados, de cinco en cinco registros.
Public Sub AbsolutePageX()
Dim rstEmployees As ADODB.Recordset
Dim strCnn As String
Dim strMessage As String
Dim intPage As Integer
Dim intPageCount As Integer
Dim intRecord As Integer
' Abre un objeto Recordset mediante un cursor del
' cliente para la tabla Empleados.
strCnn = "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
Set rstEmployees = New ADODB.Recordset
' Utiliza el cursor del cliente para activar la propiedad
' AbsolutePosition.
rstEmployees.CursorLocation = adUseClient
rstEmployees.Open "empleado", strCnn, , , adCmdTable
' Muestra los nombres y las fechas de contratación, de cinco
' en cinco registros.
rstEmployees.PageSize = 5
intPageCount = rstEmployees.PageCount
For intPage = 1 To intPageCount
rstEmployees.AbsolutePage = intPage
strMessage = ""
For intRecord = 1 To rstEmployees.PageSize
strMessage = strMessage & _
rstEmployees!fname & " " & _
rstEmployees!lname & " " & _
rstEmployees!hire_date & vbCr
rstEmployees.MoveNext
If rstEmployees.EOF Then Exit For
Next intRecord
MsgBox strMessage
Next intPage
rstEmployees.Close
End Sub
Espero te sirva
Saludos desde México
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Visual Basic 6.0 e inferiores
(Moderador:
F_Tanori
) »
Se Podra Hacer Este Tipo De Form ????