¿Cómo puedo mostrar mensajes de aviso al cumplir una condición utilizando Microsoft Access?

Tengo un formulario que me despliega los campos num_hab, nombre, fec_hr_salida.
Ejemplo
2345 Juan Morales 13/07/2007 14:00:00 pm
2561 Elisa Lopez 13/07/2007 14:20:00 pm
Me manda un mensaje del primer registro de que ya es su hora de salida. Esta ventana se cerrara cuando ya este limpia la habitación. Pero si pasan 20 mint ya no me aparece el siguiente registro en otra ventana. No se como hacer que me aparezcan varias ventanas.

1 Respuesta

Respuesta
1
¿Cómo estas haciendo ahora para que te envíe un mensaje?
Si estas utilizando Msgbox me temo que es una ventana emergente y esta esperando a que pulses el botón de Aceptar para continuar la ejecución.
Yo crearía una consulta que me devolviera las tareas abiertas cuya hora de e inicio fuera mayor que la actual
Y crearía un formulario sobre esa consulta, si necesitar añádele un botón para que pulsen en cada una de las tareas y cierren la tarea.
En el formulario principal en el evento Al cronometro pon el código siguiente
(No te olvides pones un intervalo de por ejemplo 60 segundos (60000))
Docmd. Openform "TareasActivas"
De este modo el formulario de TareasActivas te irá mostrando las tareas abiertas.
Que crees solo me aparece una tarea(habit: 2345,14:00:00 pm) ; si no cierro la ventana de tareas no me aparece el siguiente registro(habit: 2561 14:20:00 pm )
Este es código del formulario principal:
Private Sub Form_Load()
blnParar = False
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
Dim Cond As String
tiempo = Format(Now, "DD/MM/YYYY hh:nn:ss")
'Ir a la función BuscaHr para obtener datos de la tabla consult_comanda
buscarHora_consulta
If blnAlarma Then
If tiempo = datHora Then
Set indicador = Me
Set mirs1 = Me.RecordsetClone
Cond = "folio_comanda = '" & Me.Texto26 & "' "
mirs1.Find Cond
indicador.Bookmark = mirs1.Bookmark
' llama a la funcion presentar mensaje de aviso
presentamensj
End If
blnParar = True
End If
End Sub
Public Sub buscarHora_consulta()
Dim consulta As String
Dim Mirs As New ADODB.Recordset
consulta = "SELECT * FROM consult_comanda WHERE fecha_muertos = '" & tiempo & "' "
Mirs.Open consulta, CurrentProject.Connection, adOpenDynamic, adLockReadOnly
If Not Mirs.EOF Then
Me.Texto26 = Mirs!folio_comanda
habit = Mirs!num_habit
datHora = Mirs!fecha_muertos
huesped = Mirs!nombre
blnAlarma = True
End If
Mirs.Close
End Sub
Public Sub presentamensj()
DoCmd.OpenForm "tareasActivas"
End Sub
y el de tareasActivas es el siguiente:
Private Sub Form_Load()
Me.Form.Caption = "Habit: " & habit & "
Me.nombre = huesped
Me.accion = accion1
End Sub
He revisado el código que me has mandado y efectivamente hasta que no "cierres" la primera tarea no se muestra la siguiente.
Quizás la solución más sencilla sea visualizar en un formulario la consulta con las tareas abiertas y activas.
Ok muchas gracias; lo que hice es que me lo vaya asignando a una lista así sabre que habitaciones se tienen que atender. Gracias por tu ayuda
Saludos !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas