Ver un formulario mientras se carga otro
Hola , tengo un problema y es que un formulario me tarda en cargar por que se engancha a la BD q cada vez es mas grande, y entonces he pensado que mientras se esta cargando , me salga otro con una barra de progreso , pero hasta q no se engancha no funciona la barra, da sensacion de bloqueado.
GRACIAS
GRACIAS
El formulario debe tener un label y una progressbar.....
En un formulario
Private Descargo As Boolean
Private Sub Form_Load()
Descargo = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Descargo = False Then
Cancel = False
End If
End Sub
En un modulo pega la siguiente funcion.......
En un modulo Bas..
Public Sub MostrarProgreso(ByVal Mensaje As String, _
ByVal NumMax As Long, ByVal NumActual As Long)
Dim NumDoble As Double, SeVeForm As Boolean
If SeVeForm = False Then
Form1.Show
SeVeForm = True
End If
Form1.ProgressBar1.Min = 0
Form1.ProgressBar1.Max = NumMax
Form1.Label1.Caption = Mensaje
Form1.ProgressBar1.Value = NumActual
If Val(NumActual) = Val(NumMax) Then
Descargo = True
Unload Form1
End If
End Sub
Lammalo desde otro formulario asi.....
En tu formulario inicias la llamada
Private Sub Command1_Click()
Maxx = 7000
For j = 0 To Maxx
Call MostrarProgreso("Realizando tareas de lectura en la base de datos " & _
Chr(10) & "Por favor espere...", Maxx, j)
Next
End Sub
Los parametros que pide son.....
MostrarProgreso(mensaje, NumMax, NumActual)
Menja; Es el dato que quieres que muestre la estiqueta.
NumMax; Es el numero limite al que llegara la barra de progreso.
NumActual; Es el numero por el que se esta moviendo actualmente
Si no lo solucionamos asi veremos que forma le encontramos...
Un Saludo
Jose Oscar
En un formulario
Private Descargo As Boolean
Private Sub Form_Load()
Descargo = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Descargo = False Then
Cancel = False
End If
End Sub
En un modulo pega la siguiente funcion.......
En un modulo Bas..
Public Sub MostrarProgreso(ByVal Mensaje As String, _
ByVal NumMax As Long, ByVal NumActual As Long)
Dim NumDoble As Double, SeVeForm As Boolean
If SeVeForm = False Then
Form1.Show
SeVeForm = True
End If
Form1.ProgressBar1.Min = 0
Form1.ProgressBar1.Max = NumMax
Form1.Label1.Caption = Mensaje
Form1.ProgressBar1.Value = NumActual
If Val(NumActual) = Val(NumMax) Then
Descargo = True
Unload Form1
End If
End Sub
Lammalo desde otro formulario asi.....
En tu formulario inicias la llamada
Private Sub Command1_Click()
Maxx = 7000
For j = 0 To Maxx
Call MostrarProgreso("Realizando tareas de lectura en la base de datos " & _
Chr(10) & "Por favor espere...", Maxx, j)
Next
End Sub
Los parametros que pide son.....
MostrarProgreso(mensaje, NumMax, NumActual)
Menja; Es el dato que quieres que muestre la estiqueta.
NumMax; Es el numero limite al que llegara la barra de progreso.
NumActual; Es el numero por el que se esta moviendo actualmente
Si no lo solucionamos asi veremos que forma le encontramos...
Un Saludo
Jose Oscar
MUCHAS GRACIAS TIO, ahora ya solo queda una cosa y es q tarda mucho en leer una bd con imagenes, en fin seguire al lio , gasias de nuevo
