Tìm hiểu cách bạn có thể thêm lời nhắc sinh nhật vào cơ sở dữ liệu Access của mình. Được thông báo nếu sắp đến sinh nhật của khách hàng hoặc nhân viên của bạn để bạn có thể gửi cho họ lời chúc mừng nồng nhiệt.
Gửi lời chúc mừng sinh nhật có thể là một cách tuyệt vời để kết nối và củng cố mối quan hệ với khách hàng hoặc nhân viên. Nếu bạn đang xử lý cơ sở dữ liệu Access chứa các bản ghi khách hàng/nhân viên, thì thật tuyệt nếu thỉnh thoảng được thông báo nếu sắp đến sinh nhật của khách hàng hoặc nhân viên. Trong hướng dẫn này, bạn sẽ học cách tạo một chức năng sẽ thông báo cho bạn về ngày đặc biệt của ai đó ngay khi bạn mở cơ sở dữ liệu.
Tải xuống Ngay
Nếu bạn muốn bắt đầu sử dụng tính năng này càng sớm càng tốt, bạn có thể:
Tải xuống cơ sở dữ liệu mẫu với mã VBA ngay bây giờ
Còn không, nếu bạn muốn DIY, bạn có thể đọc nội dung bên dưới.
Điều kiện tiên quyết
Hướng dẫn này giả định rằng bạn có một bảng trong cơ sở dữ liệu chứa 3 trường sau: tên, họ và ngày sinh.
Các bước để thêm lời nhắc sinh nhật trong cơ sở dữ liệu Access
- Tạo một bảng mới và đặt tên cho nó Sinh NhậtCelebrants. Điều này sẽ đóng vai trò là kho lưu trữ danh sách những người tổ chức sinh nhật. Thêm 3 trường như hình bên dưới. Không cần khóa chính.
- Tạo biểu mẫu cho BirthdayCelebrants. Biểu mẫu này sẽ bật lên khi mở cơ sở dữ liệu nếu có ngày sinh nhật sắp tới.
- Trong ngăn dẫn hướng, hãy chọn bảng BirthdayCelebrants.
- Chuyển đến Tạo > Biểu mẫu.
- Một Biểu mẫu Đơn sẽ được tạo tự động cho bạn.
Vì chúng tôi sẽ hiển thị danh sách những người tổ chức sinh nhật, tôi khuyên bạn nên thay đổi Dạng xem mặc định của biểu mẫu thành Biểu dữ liệu hoặc Biểu mẫu liên tục. Bằng cách này, bạn có thể có một cái nhìn tổng quan nhanh về danh sách.
- Trong khi ở chế độ xem thiết kế, hãy chọn biểu mẫu.
- Mở Bảng thuộc tính (ALT + F11)
- Chuyển đến Định dạng > Chế độ xem mặc định.
- Chọn dạng xem mong muốn của bạn – Biểu dữ liệu hoặc Biểu mẫu liên tục.
Nếu bạn đã chọn Biểu mẫu liên tục, hãy chỉnh sửa thiết kế để phù hợp với sở thích của bạn. Đây là cách của tôi trông như thế nào:
Tôi đã chỉnh sửa định dạng của hộp văn bản Sinh nhật để các giá trị sẽ được hiển thị ở định dạng Ngày Dài. Ngoài ra, tôi đã thực hiện các cập nhật sau về các thuộc tính của biểu mẫu:
- Cho phép bổ sung: Không
- Cho phép xóa: Không
- Cho phép chỉnh sửa: Không
Khi hoàn tất, hãy đóng biểu mẫu và lưu dưới dạng frm_Sinh nhậtCelebrants.
- Thêm mã cho lời nhắc sinh nhật.
- Thêm một mô-đun mới.
- Thao tác này sẽ mở Trình chỉnh sửa VBA.
- Thêm đoạn mã sau và sửa đổi nó để phù hợp với nhu cầu của bạn.
- Thêm một mô-đun mới.
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
Xin lưu ý rằng đoạn mã trên sử dụng truy vấn lấy danh sách những người tổ chức sinh nhật cho ngày hiện tại. Nếu bạn muốn nhận danh sách những người sắp sinh nhật trong tháng hiện tại, hãy sử dụng truy vấn sau để thay thế.
'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"
- Cuối cùng, chúng ta sẽ tạo một macro AutoExec. Điều này sẽ chạy mã khi mở cơ sở dữ liệu.
- Chuyển đến Tạo > Macro.
- Chọn Mã vận hành từ danh sách thả xuống.
- Đối với Tên chức năng, hãy viết RunBirthdayReminders().
- Lưu macro dưới dạng AutoExec và nhấn OK.
- Bây giờ, hãy kiểm tra Lời nhắc sinh nhật của bạn.
Đóng cơ sở dữ liệu và mở lại. Nếu sắp tới có sinh nhật, biểu mẫu nhắc nhở sinh nhật sẽ bật lên. Nếu không, cơ sở dữ liệu sẽ chạy như bình thường.
Nhắc nhở nhanh
Bây giờ để nhắc nhở nhanh chóng. Nếu một ngày nào đó, bạn không thể mở cơ sở dữ liệu của mình, đừng hoảng sợ. Thực hiện các bước cần thiết để phục hồi nó. Nếu bạn vẫn không thể, hãy thử phần mềm của bên thứ ba sẽ sửa chữa truy cập. Vẫn còn hy vọng.
Giới thiệu tác giả:
Jayme Stack là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm phục hồi sql và các sản phẩm phần mềm phục hồi excel. Để biết thêm thông tin, hãy truy cập www.datanumennăm




