Formulario Recordatorio Access

¿Cómo puedo elaborar un formulario que funcione como recordatorio para citas hechas?
Cuento con un formulario de access al cual programo citas de callback, y debo llamar a mis clientes a una hora especifica. Quisiera elaborar un formulario que se abra 5 minutos antes de que la hora de hablar con mi cliente llegue es decir que funcione como recordatorio. ¿Conoces alguna forma de elaborarlo? Hasta ahora no he podido desarrollarlo e incluso he intentado vincular access con outlook sin embargo no logro más que una importación.

1 Respuesta

Respuesta
1
Pues yo haría una consulta, para verificar cuales de tus citas están ya vencidas (es decir, que la hora de la cita sea menor que la hora actual del sistema. En mi tabla ejemplo la forma en SQL sería:
SELECT Tabla2.cliente, Tabla2.Hora, Tabla2.comentario, Tabla2.fin
FROM Tabla2
WHERE (((Tabla2.Hora)<=Time()) AND ((Tabla2.fin)=False));
Una vez que esta consulta te funcione, tienes que hacer un formulario que muestre el resultado de esta consulta.
Y una vez que lo tengas, tienes que hacer que Access, cada minuto, por ejemplo, compruebe el resultado de la consulta y si hay uno o más registros (es decir, una o varias citas vencidas), abra el formulario. Eso lo puedes hacer con el Evento Al Cronometro.
En el evento, al cargar, del formulario en el que vas introduciendo las citas, estableces la propiedad TimerInterval a 60 segundos. Después en el evento Al Cronometro introduces un código que abra el recordset de la consulta. Si el recordset es nulo no haces nada. Si tiene registros, simplemente abre el formulario que habías hecho sobre la consulta y ya está.
(En el ejemplo he añadido a las citas un campo FIN, (SI/NO) que marcarás en cuanto hayas llamado, para desactivar el aviso.)
Cambiaste completamente mi perspectiva, ahora ya tengo un par de consultas así:
Mi consulta 1 es sobre mi tabla de clientes, sólo para clientes con cita.
Mi consulta 2 es sobre la consulta 1, citas "pendientes" en donde la diferencia al Ahora()>0 y la consulta 3 son citas "pasadas" <0
Las consultas 2 y 3 serán un subformulario dentro del form de citas con origen en la consulta 1, con un cuadro combinado aplicaré el codigo select case me.CmbTipoSubForm.Value
case pendientes....  y seguir con el código para las pasadas y realizar así una agenda de todas las citas, dando la posibilidad de mostrar las pasadas, y las pendientes pero no me queda claro el como aplicar Evento Al Cronómetro.... debe de ser sobre el formulario de la consulta 1, para abrir el subform de la consulta 3 cuando exista una cita pasada? Sorry quedé revuelto.
Saludos,
Los subformularios se relacionan con el formulario principal a través de campos comunes. En tu caso, si en el formulario de citas estás viendo determinada cita, no entiendo que pongas un formulario con otras citas, porque nunca se relacionaran, veras en un cuadro unas citas y en otro cuadro otras, pero no hay campos comunes.
En resumen, intenta aplicar lo que te decía en mi respuesta. Lo que te decía de los eventos efectivamente se refiere al formulario de citas. Y el formulario que se tiene que abrir cuando se cumpla el evento es el que has hecho sobre la consulta 3. Ponte en el evento Al Cronometro y presiona F1, que viene muy bien explicado en la ayuda. Si no, dime y vamos por pasos.
Hola,
Ya accedí a la ayuda de access pero no encuentro nada más de en que puede utilizarse al cronometro, espero que si puedas ayudarme. Gracias.
Saludos,
En el formulario principal pon este código, modificándolo en la medida que veas que tu formulario se llama distinto. He puesto 60 segundos por defecto y con un sonido, pero modifica el valor lo que necesites.
Sub Form_Load()
    Me.TimerInterval = 60000
End Sub
Sub Form_Timer()
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Consulta3")
    Dim I
    For I = 1 To 3
        Beep
    Next I
    If rs.EOF Or rs.BOF Then
        MsgBox ("No tiene citas pendientes")
    Else
        DoCmd.OpenForm "FormularioPendientes"
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas