了解如何将生日提醒添加到 Access 数据库。 如果您的客户或员工的生日快到了,您会收到通知,这样您就可以向他们致以温暖的问候。
发送生日祝福是连接和加强与客户或员工关系的好方法。 如果您正在处理包含客户/员工记录的 Access 数据库,那么如果客户或员工的生日快到了,那么不时收到通知会很棒。 在本教程中,您将学习如何创建一个函数,在您打开数据库时通知您某人的特殊日子。
立即下载
如果您想尽快开始使用此功能,您可以:
否则,如果你想DIY,你可以阅读下面的内容。
条件
本教程假设您的数据库中有一个包含以下 3 个字段的表:名字、姓氏和生日。
在 Access 数据库中添加生日提醒的步骤
- 创建一个新表并命名 生日庆祝者. 这将作为生日庆祝者列表的存储库。 添加 3 个字段,如下所示。 不需要主键。
- 为 BirthdayCelebrants 创建一个表单。 如果有即将到来的生日,此表格将在打开数据库时弹出。
- 在导航窗格中,选择 BirthdayCelebrants 表。
- 转到创建 > 表单。
- 将自动为您创建一个单一表格。
由于我们要显示生日庆祝者列表,我建议您将表单的默认视图更改为数据表或连续表单。 这样,您可以快速浏览列表。
- 在设计视图中,选择窗体。
- 打开属性表 (ALT + F11)
- 转到格式 > 默认视图。
- 选择您想要的视图——数据表或连续表格。
如果您选择了 Continuous Forms,请编辑设计以符合您的喜好。 这是我的样子:
我已经编辑了生日文本框的格式,以便值将以长日期格式显示。 此外,我对表单的属性进行了以下更新:
- 允许添加:否
- 允许删除:否
- 允许编辑:否
完成后,关闭表格并将其另存为 frm_BirthdayCelebrants。
- 添加生日提醒代码。
- 添加一个新模块。
- 这将打开 VBA 编辑器。
- 添加以下代码并修改它以满足您的需要。
- 添加一个新模块。
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
请注意,上面的代码使用了一个获取当天生日庆祝者列表的查询。 如果您想获取当月生日即将到来的人员列表,请改用以下查询。
'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"
- 最后,我们将创建一个 AutoExec 宏。 这将在打开数据库时运行代码。
- 转到创建 > 宏。
- 选择 运行码 从下拉列表中。
- 对于函数名称,写 运行生日提醒().
- 将宏另存为 自动执行 并点击确定。
- 现在,测试您的生日提醒。
关闭数据库并重新打开它。 如果有即将到来的生日,生日提醒表格应该会弹出。 如果没有,数据库将照常运行。
快速提醒
现在快速提醒一下。 如果有一天,您无法打开数据库,请不要惊慌。 采取必要的步骤来恢复它。 如果还是不行,试试第三方软件 修复访问. 还有希望。
作者简介:
Jayme Stack 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 excel 恢复软件产品。 欲了解更多信息,请访问 datanumen.com




