Access - cronometro y actualizar form sin cerrar

 
Vista:

cronometro y actualizar form sin cerrar

Publicado por pablo-goyo (233 intervenciones) el 05/03/2003 21:24:07
Hola
estoy haciendo una aplicacion que desciende el tiempo hasta cero y este ejecuta una accion.
ejemplo
la hora actual - campo y se va actualizando segundo a segundo mediante el cronometro, pero no logro realizar ninguna accion cuando la resta llega a cero, he probado con IF me.campo = 0 then ... en varios eventos pero siempre me ocurre error.
estoy realizando un programa para administrar uso de psx y que me avise cuando este en cero mediante una accion (sea cambiar de color o sonido). creo que la solucion a esto es. que el formulario se actualize cada segundo o minuto pero no se como hacerlo.
si alguien me entendio y me puede ayudar de antemano gracias.
:)
Pablo
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

cronometro y actualizar form sin cerrar

Publicado por Alejandro (4142 intervenciones) el 26/04/2023 22:45:28
Para realizar una acción cuando el cronómetro llega a cero, puedes utilizar el evento OnTimer del formulario y comparar el valor del campo de tiempo con cero en cada iteración.

Para actualizar el formulario sin cerrarlo, puedes utilizar el método Refresh en el evento OnTimer. Este método actualiza la pantalla del formulario con los datos más recientes.

Por ejemplo, supongamos que tienes un campo llamado "TiempoRestante" en el formulario que muestra el tiempo restante en segundos, y quieres que el formulario muestre un mensaje y reproduzca un sonido cuando el tiempo llega a cero.

En el evento OnTimer del formulario, puedes utilizar el siguiente código:

1
2
3
4
5
6
7
8
9
10
Private Sub Form_Timer()
    Me.TiempoRestante = Me.TiempoRestante - 1 ' Restar 1 segundo del tiempo restante
    Me.Refresh ' Actualizar el formulario
 
    If Me.TiempoRestante = 0 Then
        ' Mostrar mensaje y reproducir sonido
        MsgBox "El tiempo ha llegado a cero"
        DoCmd.PlayObject acDataForm, Me.Name, acVerbPlay
    End If
End Sub

Este código restará un segundo del tiempo restante en cada iteración del evento OnTimer, actualizará el formulario y, cuando el tiempo llegue a cero, mostrará un mensaje y reproducirá un sonido.

Ten en cuenta que el evento OnTimer se activa a intervalos regulares, que se pueden establecer en la propiedad Interval del formulario en milisegundos. Por ejemplo, si estableces Interval en 1000, el evento OnTimer se activará cada segundo.
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