Jak dodać przypomnienia o urodzinach w bazie danych programu Access

Podziel się teraz:

Dowiedz się, jak dodać przypomnienia o urodzinach do bazy danych programu Access. Otrzymuj informacje, jeśli zbliżają się urodziny Twojego klienta lub pracownika, aby móc wysłać im ciepłe powitanie.

Wysyłanie życzeń urodzinowych może być świetnym sposobem na nawiązanie i wzmocnienie relacji z klientem lub pracownikiem. Jeśli masz do czynienia z bazą danych programu Access zawierającą rekordy klientów/pracowników, warto od czasu do czasu otrzymywać powiadomienia o zbliżających się urodzinach klienta lub pracownika. W tym samouczku dowiesz się, jak stworzyć funkcję, która w momencie otwarcia bazy danych powiadomi Cię o czyimś szczególnym dniu.

Pobierz teraz

Jeśli chcesz zacząć korzystać z tej funkcji jak najszybciej, możesz:

Pobierz teraz przykładową bazę danych z kodami VBA

W przeciwnym razie, jeśli chcesz wykonać majsterkowanie, możesz przeczytać poniższą zawartość.

Przesłanka

W tym samouczku założono, że w bazie danych znajduje się tabela zawierająca te 3 pola: imię, nazwisko i data urodzenia.

Kroki, aby dodać przypomnienia o urodzinach w bazie danych programu Access

  1. Utwórz nową tabelę i nazwij ją UrodzinyCelebranci. Będzie to służyć jako repozytorium listy obchodów urodzin. Dodaj 3 pola, jak pokazano poniżej. Nie ma potrzeby posiadania klucza podstawowego.Stół Urodzinowy Uroczystości
  2. Utwórz formularz dla BirthdayCelebrants. Ten formularz pojawi się po otwarciu bazy danych, jeśli są zbliżające się urodziny.Utwórz formularz na urodzinyCelebrantów
  • W okienku nawigacji wybierz tabelę BirthdayCelebrants.
  • Przejdź do Utwórz> Formularz.
  • Pojedynczy formularz zostanie automatycznie utworzony dla Ciebie.

Ponieważ zamierzamy wyświetlić listę obchodów urodzin, sugerowałbym zmianę widoku domyślnego formularza na arkusz danych lub formularze ciągłe. W ten sposób możesz szybko przejrzeć listę.Zmień domyślny widok formularza

  • W widoku projektu wybierz formularz.
  • Otwórz arkusz właściwości (ALT + F11)
  • Przejdź do Format> Widok domyślny.
  • Wybierz żądany widok - arkusz danych lub formularze ciągłe.

Jeśli wybrałeś Formularze ciągłe, edytuj projekt zgodnie z własnymi preferencjami. Oto jak mój wygląda:Wybierz formularze ciągłe i edytuj projekt

Zmieniłem format pola tekstowego Urodziny, aby wartości były wyświetlane w formacie daty długiej. Wprowadziłem również następujące aktualizacje właściwości formularza:

  • Zezwalaj na dodatki: Nie
  • Zezwalaj na usuwanie: Nie
  • Zezwól na edycję: Nie

Po zakończeniu zamknij formularz i zapisz go jako frm_BirthdayCelebranty.

  1. Dodaj kod przypomnienia o urodzinach.
    • Dodaj nowy moduł.Dodaj nowy moduł
    • Otworzy się edytor VBA.
    • Dodaj poniższy kod i zmodyfikuj go, aby dopasować go do swoich potrzeb.
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

Zwróć uwagę, że powyższy kod wykorzystuje zapytanie, które pobiera listę obchodów urodzin na bieżący dzień. Jeśli chcesz uzyskać listę osób, których urodziny zbliżają się w bieżącym miesiącu, użyj zamiast tego następującego zapytania.

'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. Na koniec utworzymy makro AutoExec. Spowoduje to uruchomienie kodu podczas otwierania bazy danych.Utwórz makro AutoExec
    • Przejdź do Utwórz> Makro.
    • Wybierz UruchomKod z listy rozwijanej.
    • W polu Nazwa funkcji wpisz RunBirthdayReminders ().
    • Zapisz makro jako Autowykon i kliknij OK.
  1. Teraz przetestuj przypomnienie o urodzinach.

Zamknij bazę danych i otwórz ją ponownie. Jeśli są zbliżające się urodziny, powinien pojawić się formularz przypomnienia o urodzinach. Jeśli nie, baza danych będzie działać normalnie.

Szybkie przypomnienie

Teraz krótkie przypomnienie. Jeśli któregoś dnia nie będziesz mógł otworzyć bazy danych, nie panikuj. Podejmij niezbędne kroki, aby go odzyskać. Jeśli nadal nie możesz, wypróbuj oprogramowanie innej firmy, które to zrobi naprawić Access. Wciąż jest nadzieja.

Wprowadzenie autora:

Jayme Stack jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskiwanie sql i doskonałe oprogramowanie do odzyskiwania. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.