Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/10/2008, 11:26
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: Como le aplico progressbar a mi funcion?

Cita:
Iniciado por franko1809 Ver Mensaje
El codigo es asi
Código:
Private Sub cmdBackup_Click()
On Error GoTo ErrorBackup
   'Cerramos la conexion
     'If dbConex.State = 1 Then dbConex.Close 'Esta linea cierra la conexion del modulo
     'Copiamos la base de datos en la carpeta backup
     Screen.MousePointer = 1
     MsgBox CopiaBDPwd(App.Path & "\SYSTEM_DB_01.mdb", App.Path & "\BackUp\Copia de SYSTEM_DB_01.mdb", 45568392), vbInformation, "Information"
     'Volvemos a abrir la conexion
     'Main 'Esta linea vuelve a abrir la conexion del modulo
Exit Sub

ErrorBackup:
   MsgBox "No se pudo crear la copia de seguridad", vbCritical, "Debe cerrar todas las ventanas"
End Sub
Hola,
para poder aplicar el control ProgressBar a un proceso, necesitas saber el número de elementos que se van a procesar (p.e. en un bucle For o en la lectura de un recordset), pero en un Copy nunca sabes lo que va a tardar, pues entre otras cosas, depende de la velocidad de la máquina donde se ejecute.

Si el archivo a copiar no es excesivamente grande, con que le pongas el reloj de arena es suficiente (por cierto, que no es el MousePointer 1, sino el 11, el 1 es la flecha, constante = vbArrow y el 11 es el reloj de arena = vbHourGlass) y si va a sobrepasar un tiempo de espera considerable, lo puedes hacer con la API SHFileOperation en la que aparece la típica ventana de Copiando... Quedan xx segundos"

Ah! y si utilizas la primera opción, no olvides volver a poner el puntero del mouse a su valor original. Screen.MousePointer = vbDefault