ProgressBar & BD

Que tal expertos quisiera que me ayudaran en este pequeño problema, quisiera crear un progresbar para que me muestre cuanto falta para mostrar todos los datos
Ejemplo:
Tengo una tabla con 1000 registros y bueno es un poco pesado y demora en mostrarse todos los registros y creo que con un progresbar iría mostrando el tiempo que falta para completar la consulta.
t_empleados
Idempleado
Nombres
Estado

1 Respuesta

Respuesta
1
Tienes que hacer lo siguiente:
1.Colocas un Hprogressbar control sobre la ventana o pantalla de consulta, le colocas un nombre y dejas como están sus propiedades por defecto. Para el ejemplo lo llamaremos hpb_1.
2.En el evento Open() de la pantalla o ventana de consulta pones:
hpb_1.visible=false //para que no se muestre el control al principio.
3.Te ubicas en el datawindow que carga los registros de la consulta y en su evento Retrievestart() colocas lo siguiente:
//Variable que almacena el total de registros de la consulta a la base datos.
long ll_total
//Hacemos la consulta a la base de datos.
select count(*) into :ll_total from [nombre_tabla o nombre_vista]
using sqlca;
//Definimos las propiedades en el Hprogressbar.
hpb_1.minposition=0
//El total de registros devuelto por la consulta lo asignamos a su maxima posicion.
hpb_1.maxposition=ll_total
//Ponemos el Hprogressbar a una minima posicion.
hpb_1.position=1
//Mostramos el Hprogressbar control cuando se empieza a cargar.
hpb_1.visible=true
4. En el evento Retrieverow() del mismo datawindow colocas lo siguiente:
//Asignamos cada registro que se carga a la posición del Hprogressbar control.
hpb_1.position=row
5. En el evento Retrieveend() del mismo datawindow colocas lo siguiente:
//Cuando se termina de cargar todos los registros, volvemos a ocultar el Hprogressabar control.
hpb_1.visible=false
Puedes modificarlo como te parezca.
Se agradece calificar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas