Intervalo de tiempo en access

Tengo un reporte de access que tengo que ejecutar cada 5 minutos, pero no se como programarlo para que se haga de manera automática y se vea en print preview.

1 respuesta

Respuesta
1
Siendo la tardanza, pero he estado probando y no sé... me quedé bloqueada, me funcionaba con fecha Date(), hasta que me acordé de la función Now(). El código es el siguiente:
var = Now
Do While var <= Now
If DateDiff("n", var, Now) = 1 Then
DoCmd.OpenReport "NombreInforme", acViewPreview"
var = Now
End If
Loop
No sé si mi respuesta es muy tardía, pero bueno... ahí la tienes.
Excelente respuesta, pero ahora la pregunta es donde coloco el código, disculpa pero no soy muy experto en la programación.
El nombre del reporte es WQ Summary
Gracias
Puedes ejecutar el código de varias formas:
En la pestaña módulos abres un módulo nuevo y escribes la función, si lo quieres ejecutar desde aquí, picarías en la flecha que hay en la parte superior.
Si no, guardarías el módulo (da igual el nombre) y abrirías una macro nueva, en acción pondrías EjecutarCódigo y en nombre de la función CalcularSaldo, al ejecutar la macro se ejecutaría el código.
También podrías hacerlo desde un formulario, te creas un botón, cuando salte el asistente le dices cancelar, después con botón derecho sobre el botón irías a Generar Evento ---> Generador de código, es ahí donde tendrías que escribir el código.
Ejecuta la acción pero, se tarda más de 20 minutos en ejecutarse, y de hecho solo me envía una pantalla en blanco, sin información.
¿Desde dónde ejecutas el código? ¿Podrías copiarlo y pegarlo para poderlo ver?
Así coloque el código
Private Sub Form_Load()
var = Now
Do While var <= Now
If DateDiff("n", var, Now) = 1 Then
DoCmd.OpenReport "WQ Summary", acViewPreview
var = Now
End If
Loop
End Sub
Saludos
Private Sub Form_Open(Cancel As Integer)
var = Now
Do While var <= Now
If DateDiff("n", var, Now) = 1 Then
DoCmd.OpenReport "productos", acViewPreview
If MsgBox("¿Imprimir el informe?", vbYesNo) = vbYes Then
DoCmd.OpenReport "productos", acViewNormal
DoCmd.Close acReport, "productos"
Else
DoCmd.Close acReport, "productos"
End If
var = Now
End If
Loop
End Sub
He puesto un msgbox para hacer una pausa y preguntar si se quiere imprimir o no, después cierro el informe.
Si no te funciona puedes mandarme tu correo y te mando la BD donde lo he ejecutado.
Muchísimas Gracias, ya lo ejecuto excelentemente
Te agradezco mucho, me podrías recomendar algún curso o manual para aprender más de la programación de access.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas