如何在 Access 数据库中添加生日提醒

立即分享:

了解如何将生日提醒添加到 Access 数据库。 如果您的客户或员工的生日快到了,您会收到通知,这样您就可以向他们致以温暖的问候。

发送生日祝福是连接和加强与客户或员工关系的好方法。 如果您正在处理包含客户/员工记录的 Access 数据库,那么如果客户或员工的生日快到了,那么不时收到通知会很棒。 在本教程中,您将学习如何创建一个函数,在您打开数据库时通知您某人的特殊日子。

立即下载

如果您想尽快开始使用此功能,您可以:

立即下载带有 VBA 代码的示例数据库

否则,如果你想DIY,你可以阅读下面的内容。

条件

本教程假设您的数据库中有一个包含以下 3 个字段的表:名字、姓氏和生日。

在 Access 数据库中添加生日提醒的步骤

  1. 创建一个新表并命名 生日庆祝者. 这将作为生日庆祝者列表的存储库。 添加 3 个字段,如下所示。 不需要主键。表生日庆祝者
  2. 为 BirthdayCelebrants 创建一个表单。 如果有即将到来的生日,此表格将在打开数据库时弹出。为生日庆祝者创建一个表单
  • 在导航窗格中,选择 BirthdayCelebrants 表。
  • 转到创建 > 表单。
  • 将自动为您创建一个单一表格。

由于我们要显示生日庆祝者列表,我建议您将表单的默认视图更改为数据表或连续表单。 这样,您可以快速浏览列表。更改表单的默认视图

  • 在设计视图中,选择窗体。
  • 打开属性表 (ALT + F11)
  • 转到格式 > 默认视图。
  • 选择您想要的视图——数据表或连续表格。

如果您选择了 Continuous Forms,请编辑设计以符合您的喜好。 这是我的样子:选择连续形式并编辑设计

我已经编辑了生日文本框的格式,以便值将以长日期格式显示。 此外,我对表单的属性进行了以下更新:

  • 允许添加:否
  • 允许删除:否
  • 允许编辑:否

完成后,关闭表格并将其另存为 frm_BirthdayCelebrants。

  1. 添加生日提醒代码。
    • 添加一个新模块。添加新模块
    • 这将打开 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"
  1. 最后,我们将创建一个 AutoExec 宏。 这将在打开数据库时运行代码。创建一个 AutoExec 宏
    • 转到创建 > 宏。
    • 选择 运行码 从下拉列表中。
    • 对于函数名称,写 运行生日提醒().
    • 将宏另存为 自动执行 并点击确定。
  1. 现在,测试您的生日提醒。

关闭数据库并重新打开它。 如果有即将到来的生日,生日提醒表格应该会弹出。 如果没有,数据库将照常运行。

快速提醒

现在快速提醒一下。 如果有一天,您无法打开数据库,请不要惊慌。 采取必要的步骤来恢复它。 如果还是不行,试试第三方软件 修复访问. 还有希望。

作者简介:

Jayme Stack 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 sql恢复 和 excel 恢复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。