Sådan tilføjes fødselsdagspåmindelser i din adgangsdatabase

Lær hvordan du kan tilføje fødselsdagspåmindelser til din Access-database. Bliv informeret, hvis din klient eller medarbejders fødselsdag kommer, så du kan sende dem din varme hilsen.

Afsendelse af fødselsdagshilsner kan være en fantastisk måde at forbinde og styrke forholdet til en klient eller medarbejder. Hvis du håndterer en Access-database, der indeholder kunde- / medarbejderregistreringer, kan det være dejligt at få besked fra tid til anden, hvis en klients eller medarbejders fødselsdag kommer. I denne vejledning lærer du, hvordan du kan oprette en funktion, der giver dig besked om nogens særlige dag, det øjeblik du åbner databasen.

Hent nu

Hvis du vil begynde at bruge funktionen så hurtigt som muligt, kan du:

Download eksempeldatabasen med VBA-koder nu

Ellers kan du læse indholdet nedenfor, hvis du vil gøre det selv.

Forudsætning

Denne tutorial antager, at du har en tabel i din database, der indeholder disse 3 felter: fornavn, efternavn og fødselsdag.

Trin til at tilføje fødselsdagspåmindelser i Access Database

  1. Opret en ny tabel, og navngiv den FødselsdagFest. Dette fungerer som lager for listen over fødselsdagsfester. Tilføj 3 felter som vist nedenfor. Intet behov for en primær nøgle.Fødselsdag til bordet
  2. Opret en formular til BirthdayCelebrants. Denne formular dukker op, når databasen åbnes, hvis der er kommende fødselsdage.Opret en formular til fødselsdagsfester
  • Vælg tabellen BirthdayCelebrants i navigationsruden.
  • Gå til Opret> Formular.
  • En enkelt form oprettes automatisk til dig.

Da vi skal vise en liste over fødselsdagsfester, vil jeg foreslå, at du ændrer standardvisningen af ​​formularen til enten datablad eller kontinuerlige formularer. På denne måde kan du få et hurtigt overblik over listen.Skift standardvisning af formularen

  • Vælg formularen i designvisningen.
  • Åbn ejendomsarket (ALT + F11)
  • Gå til Format> Standardvisning.
  • Vælg den ønskede visning - enten datablad eller kontinuerlige formularer.

Hvis du har valgt Kontinuerlige formularer, skal du redigere designet, så det passer til dine præferencer. Sådan ser min ud:Vælg kontinuerlige formularer og rediger designet

Jeg har redigeret formatet på tekstfeltet Fødselsdag, så værdierne vises i formatet Lang dato. Jeg lavede også følgende opdateringer om formularens egenskaber:

  • Tillad tilføjelser: Nej
  • Tillad sletninger: Nej
  • Tillad redigeringer: Nej

Når du er færdig, skal du lukke formularen og gemme den som frm_BirthdayCelebrants.

  1. Tilføj koden til fødselsdagspåmindelsen.
    • Tilføj et nyt modul.Tilføj et nyt modul
    • Dette åbner VBA Editor.
    • Tilføj følgende kode, og rediger den, så den passer til dine behov.
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

Bemærk, at ovenstående kode bruger en forespørgsel, der får en liste over fødselsdagsfester for den aktuelle dag. Hvis du vil hente en liste over personer, hvis fødselsdag kommer for den aktuelle måned, skal du bruge følgende forespørgsel i stedet.

'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. Endelig skal vi oprette en AutoExec-makro. Dette kører koden, når databasen åbnes.Opret en AutoExec-makro
    • Gå til Opret> Makro.
    • Type RunCode fra rullelisten.
    • For funktionsnavnet, skriv RunBirthdayReminders ().
    • Gem makroen som AutoExec og klik OK.
  1. Test nu din fødselsdagspåmindelse.

Luk databasen, og åbn den igen. Hvis der er kommende fødselsdage, skal fødselsdagens påmindelsesformular dukke op. Hvis ingen, kører databasen som normalt.

Hurtig påmindelse

Nu til en hurtig påmindelse. Hvis du en dag ikke kan åbne din database, skal du ikke gå i panik. Tag de nødvendige skridt til at gendanne det. Hvis du stadig ikke kan, skal du prøve tredjepartssoftware, der vil rette adgang. Der er stadig håb.

Forfatter Introduktion:

Jayme Stack er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder sql opsving og excel-genopretningssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.