Access - Como Activar la barra de Proceso

 
Vista:

Como Activar la barra de Proceso

Publicado por Juan Carlos (7 intervenciones) el 10/06/2003 18:27:01
Hola estimados mi consulta es la siguiente:

Yo tengo un formulario el cual ejecuta una consulta de actualizacion al precionar un boton de comando pero a su vez yo quiero que muestre una barra de proceso en este formulario.

de antemano muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Como Activar la barra de Proceso

Publicado por Alejandro (4142 intervenciones) el 28/04/2023 23:22:49
Para mostrar una barra de progreso en un formulario de Access mientras se ejecuta una consulta de actualización, puedes utilizar el control ProgressBar que se encuentra en la pestaña de "Controles Activex" en la ventana de diseño de formularios.

Para utilizar este control, sigue los siguientes pasos:

1. En la vista de diseño de tu formulario, haz clic en la pestaña "Diseño" y luego en "Controles Activex".
2. Selecciona el control "ProgressBar" y dibuja un rectángulo en el formulario para ubicarlo.
3. Haz clic derecho en el control ProgressBar y selecciona "Propiedades".
4. En la pestaña "Datos", cambia la propiedad "Valor máximo" a la cantidad máxima de elementos que se van a actualizar en tu consulta.
5. En la pestaña "Formato", puedes cambiar el aspecto visual del control ProgressBar, si lo deseas.
6. En el evento "Al hacer clic" del botón de comando que ejecuta tu consulta, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Dim strSQL As String
Dim i As Long
Dim n As Long
 
'Obtenemos la cantidad de registros que se van a actualizar
strSQL = "SELECT COUNT(*) AS Cantidad FROM MiTabla WHERE MiCampo = MiCondicion;"
Set db = CurrentDb
Set rst = db.OpenRecordset(strSQL)
n = rst!Cantidad
rst.Close
 
'Se establece el valor máximo de la barra de progreso
Me.ProgressBar1.Max = n
Me.ProgressBar1.Value = 0
 
'Consulta de actualización
strSQL = "UPDATE MiTabla SET MiCampo = MiNuevoValor WHERE MiCampo = MiCondicion;"
Set qdf = db.CreateQueryDef("", strSQL)
qdf.Execute dbFailOnError
Set qdf = Nothing
 
'Actualizar la barra de progreso en cada registro actualizado
For i = 1 To n
    Me.ProgressBar1.Value = i
    DoEvents 'Para actualizar la pantalla y mostrar la barra de progreso
Next i
 
'Limpiamos el objeto db
Set db = Nothing

Este código ejecuta tu consulta de actualización y actualiza la barra de progreso para mostrar el progreso en tiempo real. A medida que la consulta va actualizando los registros, la barra de progreso se va llenando, lo que permite al usuario saber cuánto falta para que termine la operación.

Espero que esto te ayude. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar