Access - Ayuda: Control Barra de Proceso

 
Vista:

Ayuda: Control Barra de Proceso

Publicado por Sebastian (8 intervenciones) el 22/08/2002 16:37:00
Amigos necesito ayuda como puedo ejecutar la barra de proceso al realizar una exportacion a txt.
por ejemplo creo un formulario como de dialogo donde pongo la barra de proceso y a un determinado tiempo se ejecute.
desde ya muchas gracias
sebastian
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

Ayuda: Control Barra de Proceso

Publicado por Alejandro (4142 intervenciones) el 22/04/2023 00:02:06
Hola Sebastián.

Para mostrar una barra de progreso durante la exportación a un archivo de texto, puedes utilizar el control "Barra de progreso" de Access y actualizar su valor mientras se realiza la exportación. Aquí hay un ejemplo básico de cómo hacerlo:

1. Agrega un control "Barra de progreso" a tu formulario de diálogo.
2. En el evento "Al hacer clic" del botón de exportación, establece el valor máximo de la barra de progreso según el número de registros que se exportarán. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub btnExportar_Click()
    ' Obtener el número de registros a exportar
    Dim numRegistros As Long
    numRegistros = DCount("*", "TablaOrigen")
 
    ' Establecer el valor máximo de la barra de progreso
    Me.BarraProgreso.Min = 0
    Me.BarraProgreso.Max = numRegistros
    Me.BarraProgreso.Value = 0
 
    ' Realizar la exportación de los datos a un archivo de texto
    DoCmd.TransferText acExportDelim, "EspecificaciónExportación", "TablaOrigen", "C:\ruta\archivo.txt", True
 
    ' Cerrar el formulario de diálogo
    DoCmd.Close acForm, Me.Name
End Sub

3. Dentro del bucle que recorre los registros que se exportarán, actualiza el valor actual de la barra de progreso y llama al método DoEvents para permitir que la interfaz de usuario se actualice. Por ejemplo:

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
Private Sub btnExportar_Click()
    ' Obtener el número de registros a exportar
    Dim numRegistros As Long
    numRegistros = DCount("*", "TablaOrigen")
 
    ' Establecer el valor máximo de la barra de progreso
    Me.BarraProgreso.Min = 0
    Me.BarraProgreso.Max = numRegistros
    Me.BarraProgreso.Value = 0
 
    ' Realizar la exportación de los datos a un archivo de texto
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM TablaOrigen")
    Do While Not rs.EOF
        ' Exportar el registro actual a un archivo de texto
        ' ...
 
        ' Actualizar la barra de progreso y permitir que la interfaz de usuario se actualice
        Me.BarraProgreso.Value = rs.RecordCount
        DoEvents
 
        rs.MoveNext
    Loop
    rs.Close
 
    ' Cerrar el formulario de diálogo
    DoCmd.Close acForm, Me.Name
End Sub

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