Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Formulario "Procesando" hasta que se abre un informe

Estas en el tema de Formulario "Procesando" hasta que se abre un informe en el foro de Bases de Datos General en Foros del Web. Trabajo con una BD Access 2003 y pretendo usar el ejemplo-formulario "Procesando" de Emilio Sancha, pero no consigo el resultado final que deseo. Con un ...
  #1 (permalink)  
Antiguo 17/12/2011, 10:22
 
Fecha de Ingreso: junio-2008
Mensajes: 20
Antigüedad: 16 años, 5 meses
Puntos: 0
Formulario "Procesando" hasta que se abre un informe

Trabajo con una BD Access 2003 y pretendo usar el ejemplo-formulario "Procesando" de Emilio Sancha, pero no consigo el resultado final que deseo.
Con un botón de un formulario paso parámetros y abro un informe. Este informe es complejo y tiene muchos controles, y la única manera de poder confeccionarlo me ha sido en el evento "al dar formato", pues cada control es independiente de los demás, es decir que no puedo (o no he sabido) usar un origen común para todos los datos que muestra. El caso es que el informe tarda unos 33 segundos en abrirse, y pretendo que durante ese tiempo se mostrara el formulario "Procesando" citado.
El caso es que esto sí lo consigo, pero no me funciona la barra de progreso que el form "Procesando" contiene, y que está vinculada al Timer (en realidad no es una Progressbar, sino sucesivos rectángulos que cambian de color, tal como lo hizo D.Emilio Sancha). Es decir, que me sale el formulario con la palabra "Procesando" hasta que se abre el informe, pero no la animación de la "barra". ¿Cómo podría conseguir ésto?
En el formulario que llamo al informe tengo:
'''''
Dim dblTtime As Double
' abro el formulario frmProcesando
DoCmd.OpenForm "frmProcesando"
' muestro o no la animación
If Not Me.chkAnimacion Then
Form_frmProcesando.TimerInterval = 0
Else
Form_frmProcesando.TimerInterval = 100
End If
dblTtime = Timer
Do
DoEvents
DoCmd.OpenReport "IndiceactividadPaliativos2", acViewPreview
Loop While Timer < dblTtime + 1
' cierro el formulario frmProcesando
DoCmd.Close acForm, "frmProcesando"
'''''

Y el formulario "Procesando" contiene:
Private Sub Form_Timer()

Static i As Long
Dim ctrl As Control

' en cada ejecución muestro u oculto unos rectangulos u otros
i = i + 1
If i > 35 Then i = -2

For Each ctrl In Me.Controls
If Mid(ctrl.Name, 7) >= i And Mid(ctrl.Name, 7) < i + 2 Then
ctrl.Visible = True
Else
If Not (ctrl.Name = "Marco" Or ctrl.Name = "Etiqueta44" Or ctrl.Name = "Etiqueta45" Or ctrl.Name = "Borde") Then ctrl.Visible = False
End If
Next ctrl
End Sub

Muchas gracias.

Etiquetas: barra, procesando, progreso
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:30.