Access: Alerta de Cumpleaños por medio de mensajes

Quisiera saber en access como hacer una funcion donde con el campo de Fecha de Nacimiento en la tabla Clientes me arroje un alerta de que esa fecha es su cumpleaños por medio del sistema mismo o para mandar una salutación al correo.

2 respuestas

Respuesta
2

Supongamos que el formulario con el que abres la base de datos es siempre el mismo. En sus propiedades-eventos-al cargar, crea un procedimiento de evento y entre Private Sub Y end sub escribe

Dim a As Integer, respuesta As Integer
a = DCount("fecha", "alumnos", "fecha=date()")
If a >= 1 Then
respuesta = MsgBox("Tienes " & a & " cumpleaños hoy. ¿Quieres verlos?", vbOKCancel, "Aviso, prepara regalo")
If respuesta = vbOK Then
Form.RecordSource = "select * from alumnos where fecha=date()"
End If
End If

Donde fecha, alumnos son los nombre que tienes que cambiar para adaptarlo a tu base.

Así cuando vaya a abrir el formulario te aparecerá el mensaje, de que hay X cumpleaños(si los hay). Entonces si quieres verlos pulsa aceptar y te aparecerá el(los) registro(s) que cumplan esa condición. Si pulsas cancelar, pues nada.

Excelente solo que cuando da el aviso si hay uno y pongo aceptar no muestra ningún registros ... como hago para ver un pequeño listado de los cumpleañeros.

Quisiera ver como está construido el formulario. Vamos a extendernos.

Supongamos que tienes una tabla Alumnos, con Idalumno, nombrealumno, FechaNac, dirección, etc.

Supongamos que con ella( no es necesario, pero para el ejemplo sirve) has construido un formulario. En sus propiedades-eventos- Al cargar ponle

Dim respuesta As Integer
If DCount("fechanac", "alumnos", "day([fechanac])=day(date()) and month([fechanac])=month(date())") >= 1 Then
respuesta = MsgBox("Hoy hay cumples.Quieres verlos?", vbOKCancel, "Aviso")
    If respuesta = vbOK Then
    Form.RecordSource = "select * from alumnos where day([fechanac])=day(date()) and month([fechanac])=month(date())"
    ElseIf respuesta = vbCancel Then
    Cancel = True
    End If
End If

Le estás diciendo "Cuenta los registros que hay en la tabla Alumnos en que el día de su fecha de nacimiento sea igual al día de hoy y el mes de su fecha de nacimiento sea el mes de hoy. Si hay uno o más, que te aparezca el mensaje, con aceptar cancelar.

Si eliges Aceptar, que el origen de registros del formulario sean aquellos de la tabla Alumnos cuyo día y mes de nacimiento sea igual al día y mes de hoy.

Si pulsas cancelar, que todo siga como era antes.

Entonces, pongámonos en el caso de hoy 26/01/2016, si hay algún alumno que haya nacido, por ejemplo, el 26/01/2003, como su día y mes coinciden con el día y mes del sistema, te diría que hay un cumpleaños, y si pulsaras Aceptar, el origen de registros del formulario sería ese único registro.

Espero haberme explicado bien ahora

De todas formas, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo.

Respuesta
2

Fabiana: Mira éste ejemplo que tengo en Mediafire. Creo que se ajusta a lo que quieres.

http://www.mediafire.com/download/qnhscyte3eqoedd/AvisosCumple.rar 

Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas