如何在訪問數據庫中添加生日提醒

立即分享:

了解如何將生日提醒添加到Access數據庫。 如果您的客戶或員工的生日快到了,請通知他們,以便向他們發送熱情的問候。

發送生日祝福可能是聯繫和加強與客戶或員工關係的好方法。 如果您正在處理包含客戶/員工記錄的Access數據庫,那麼如果客戶或僱員的生日快到了,最好不時通知它。 在本教程中,您將學習如何創建一個函數,該函數將在您打開數據庫時通知您某人的特殊日子。

立即下載

如果你想tart盡快使用該功能,則可以:

立即下載帶有VBA代碼的示例數據庫

否則,如果要DIY,可以閱讀以下內容。

條件

本教程假定數據庫中有一個包含以下3個字段的表:名字,姓氏和生日。

在Access數據庫中添加生日提醒的步驟

  1. 創建一個新表並命名 生日慶祝者。 這將用作生日主持人列表的存儲庫。 如下所示添加3個字段。 不需要主鍵。表生日慶祝活動
  2. 為BirthdayCelebrants創建一個表單。 如果即將到來的生日,打開數據庫時將彈出此表格。為生日慶祝者創建一個表格
  • 在導航窗格中,選擇BirthdayCelebrants表。
  • 轉到創建>表單。
  • 將會為您自動創建一個表格。

由於我們將顯示生日主持人列表,因此建議您將表單的默認視圖更改為數據表或連續表單。 這樣,您可以快速瀏覽列表。更改表單的默認視圖

  • 在設計視圖中,選擇表單。
  • 打開屬性表(ALT + F11)
  • 轉到格式>默認視圖。
  • 選擇所需的視圖–數據表或連續表格。

如果選擇了“連續表單”,請編輯設計以匹配您的首選項。 這是我的樣子:選擇連續表格並編輯設計

我已經編輯了“生日”文本框的格式,以便值將以“長日期”格式顯示。 另外,我對錶單的屬性進行了以下更新:

  • 允許添加:否
  • 允許刪除:否
  • 允許編輯:否

完成後,關閉表單並將其另存為 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宏
    • 轉到創建>宏。
    • 選擇 運行碼 從下拉列表中。
    • 對於函數名稱,請寫 RunBirthdayReminders().
    • 將宏另存為 自動執行 並點擊確定。
  1. 現在,測試您的生日提醒。

關閉數據庫,然後重新打開它。 如果有即將到來的生日,應該彈出生日提醒表單。 如果沒有,數據庫將照常運行。

快速提醒

現在快速提醒一下。 如果有一天,您無法打開數據庫,請不要驚慌。 採取必要的步驟來恢復它。 如果仍然無法執行,請嘗試使用第三方軟件 修復訪問。 仍然有希望。

作者簡介:

Jayme Stack是 DataNumen,Inc.是數據恢復技術的全球領導者,包括 sql恢復 和excel恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。