Descubra cómo puede agregar recordatorios de cumpleaños a su base de datos de Access. Infórmese si se acerca el cumpleaños de su cliente o empleado para que pueda enviarles un cordial saludo.
Enviar felicitaciones de cumpleaños puede ser una excelente manera de conectarse y fortalecer la relación con un cliente o empleado. Si está manejando una base de datos de Access que contiene registros de clientes / empleados, puede ser excelente recibir notificaciones de vez en cuando si se acerca el cumpleaños de un cliente o empleado. En este tutorial, aprenderá cómo puede crear una función que le notificará el día especial de alguien en el momento en que abra la base de datos.
Descargar Ahora
Si desea comenzar a utilizar la función lo antes posible, puede:
Descargue la base de datos de muestra con códigos VBA ahora
De lo contrario, si desea hacer bricolaje, puede leer el contenido a continuación.
Requisito previo
Este tutorial asume que tiene una tabla en su base de datos que contiene estos 3 campos: nombre, apellido y fecha de nacimiento.
Pasos para agregar recordatorios de cumpleaños en la base de datos de Access
- Cree una nueva tabla y asígnele un nombre CumpleañosCelebrantes. Esto servirá como depósito para la lista de celebrantes de cumpleaños. Agregue 3 campos como se muestra a continuación. No se necesita una clave principal.
- Cree un formulario para BirthdayCelebrants. Este formulario aparecerá al abrir la base de datos si hay próximos cumpleaños.
- En el panel de navegación, seleccione la tabla BirthdayCelebrants.
- Vaya a Crear> Formulario.
- Se creará automáticamente un formulario único para usted.
Dado que vamos a mostrar una lista de celebrantes de cumpleaños, le sugiero que cambie la Vista predeterminada del formulario a Hoja de datos o Formularios continuos. De esta manera, puede tener una descripción general rápida de la lista.
- En la vista de diseño, seleccione el formulario.
- Abra la hoja de propiedades (ALT + F11)
- Vaya a Formato> Vista predeterminada.
- Seleccione la vista que desee, ya sea Hoja de datos o Formularios continuos.
Si ha seleccionado Formas continuas, edite el diseño para que coincida con sus preferencias. Así es como se ve el mío:
He editado el formato del cuadro de texto Cumpleaños para que los valores se muestren en formato de fecha larga. Además, realicé las siguientes actualizaciones en las propiedades del formulario:
- Permitir adiciones: No
- Permitir eliminaciones: No
- Permitir ediciones: No
Cuando termine, cierre el formulario y guárdelo como frm_Celebradores de cumpleaños.
- Agrega el código para el recordatorio de cumpleaños.
- Agrega un nuevo módulo.
- Esto abrirá el Editor de VBA.
- Agregue el siguiente código y modifíquelo para que se ajuste a sus necesidades.
- Agrega un nuevo módulo.
Public Function RunBirthdayReminders()
Dim qry As String, fld_fName As String, fld_lName As String, fld_birthday As String, tbl As String
Dim db As DAO.Database, rst As DAO.Recordset
'TO DO: Update the ff. variables with the actual name of your table and fields
tbl = "Members" 'table containing your client/employee reocrds
fld_fName = "FirstName" 'first name field
fld_lName = "LastName" 'last name field
fld_birthday = "Birthday" 'birthday field
Set db = CurrentDb
'delete current record(s) from BirthdayCelebrants table
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE FROM BirthdayCelebrants")
DoCmd.SetWarnings True
'insert new record(s) in BirthdayCelebrants table using a query that gets list of people celebrating their birthday today.
qry = "INSERT INTO BirthdayCelebrants " & _
"SELECT " & fld_fName & ", " & fld_lName & ", " & fld_birthday & " FROM " & tbl & " WHERE " & _
"Month(" & fld_birthday & ")=Month(Date()) AND Day(" & fld_birthday & ")=Day(Date())"
DoCmd.SetWarnings False
DoCmd.RunSQL (qry)
DoCmd.SetWarnings True
Set rst = db.OpenRecordset("SELECT * FROM BirthdayCelebrants")
If Not rst.EOF Then
DoCmd.OpenForm ("frm_BirthdayCelebrants")
End If
Set db = Nothing
Set rst = Nothing
End Function
Tenga en cuenta que el código anterior utiliza una consulta que obtiene una lista de celebrantes de cumpleaños para el día actual. Si desea obtener una lista de las personas cuyo cumpleaños se aproxima para el mes actual, utilice la siguiente consulta.
'insert new record(s) in BirthdayCelebrants table using a query that gets list of people whose birthday is coming up for this month.
qry = "INSERT INTO BirthdayCelebrants " & _
"SELECT " & fld_fName & ", " & fld_lName & ", " & fld_birthday & " FROM " & tbl & " WHERE " & _
"Month(" & fld_birthday & ")=Month(Date()) AND Day(" & fld_birthday & ")>=Day(Date())" & _
" ORDER BY Day(" & fld_birthday & ") ASC"
- Finalmente, crearemos una macro AutoExec. Esto ejecutará el código al abrir la base de datos.
- Vaya a Crear> Macro.
- Seleccionar Ejecutar código de la lista desplegable.
- Para el nombre de la función, escriba RunBirthdayReminders ().
- Guarde la macro como Ejecución automática y haga clic en Aceptar.
- Ahora, pruebe su recordatorio de cumpleaños.
Cierre la base de datos y vuelva a abrirla. Si hay próximos cumpleaños, debería aparecer el formulario de recordatorio de cumpleaños. Si no hay ninguno, la base de datos se ejecutará como de costumbre.
Recordatorio rápido
Ahora, un recordatorio rápido. Si un día no puede abrir su base de datos, no se asuste. Toma las medidas necesarias para recuperarlo. Si aún no puede, pruebe un software de terceros que arreglar acceso. Todavía hay esperanza.
Introducción del autor:
Jayme Stack es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperación de sql y productos de software de recuperación de Excel. Para más información visite www.datanumen.com




