Hoe u verjaardagsherinneringen kunt toevoegen aan uw Access-database

Lees hoe u verjaardagsherinneringen aan uw Access-database kunt toevoegen. Laat u informeren als de verjaardag van uw klant of medewerker eraan komt, zodat u hem een ​​hartelijke groet kunt sturen.

Het versturen van verjaardagsgroeten kan een geweldige manier zijn om verbinding te maken en de relatie met een klant of werknemer te versterken. Als u een Access-database met klant- / werknemersrecords gebruikt, kan het handig zijn om van tijd tot tijd op de hoogte te worden gesteld als de verjaardag van een klant of werknemer eraan komt. In deze tutorial leert u hoe u een functie kunt maken die u op de hoogte stelt van iemands speciale dag op het moment dat u de database opent.

Nu downloaden

Als je de functie zo snel mogelijk wilt gaan gebruiken, kun je het volgende doen:

Download nu de voorbeelddatabase met VBA-codes

Anders, als je zelf wilt klussen, kun je de onderstaande inhoud lezen.

Eerste vereiste

Deze tutorial gaat ervan uit dat je een tabel in je database hebt die deze 3 velden bevat: voornaam, achternaam en geboortedatum.

Stappen om verjaardagsherinneringen toe te voegen in de Access-database

  1. Maak een nieuwe tabel en geef deze een naam Verjaardag Beroemdheden​ Dit zal dienen als de opslagplaats voor een lijst met verjaardagsvierders. Voeg 3 velden toe zoals hieronder getoond. Geen primaire sleutel nodig.Tafel Verjaardag Beroemdheden
  2. Maak een formulier voor BirthdayCelebrants. Dit formulier zal verschijnen bij het openen van de database als er aanstaande verjaardagen zijn.Maak een formulier voor verjaardagsfeestjes
  • Selecteer in het navigatievenster de tabel BirthdayCelebrants.
  • Ga naar Maken> Formulier.
  • Er wordt automatisch een enkel formulier voor u aangemaakt.

Aangezien we een lijst met verjaardagsvierders gaan weergeven, raad ik u aan de standaardweergave van het formulier te wijzigen in gegevensblad of doorlopende formulieren. Op deze manier heeft u snel een overzicht van de lijst.Wijzig de standaardweergave van het formulier

  • Selecteer het formulier in de ontwerpweergave.
  • Open het eigenschappenvenster (ALT + F11)
  • Ga naar Opmaak> Standaardweergave.
  • Selecteer de gewenste weergave - Datasheet of Continuous Forms.

Als u doorlopende formulieren heeft geselecteerd, bewerk het ontwerp dan zodat het overeenkomt met uw voorkeuren. Hier is hoe de mijne eruit ziet:Selecteer doorlopende formulieren en bewerk het ontwerp

Ik heb het formaat van het tekstvak Verjaardag aangepast zodat de waarden worden weergegeven in het formaat Lange datum. Ook heb ik de volgende updates aangebracht over de eigenschappen van het formulier:

  • Toevoegingen toestaan: Nee
  • Sta verwijderingen toe: Nee
  • Bewerkingen toestaan: Nee

Als u klaar bent, sluit u het formulier en slaat u het op als frm_BirthdayCelebrants.

  1. Voeg de code voor de verjaardagsherinnering toe.
    • Voeg een nieuwe module toe.Voeg een nieuwe module toe
    • Hiermee wordt de VBA-editor geopend.
    • Voeg de volgende code toe en pas deze aan uw behoeften aan.
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

Houd er rekening mee dat de bovenstaande code een zoekopdracht gebruikt die een lijst met verjaardagsvierders voor de huidige dag oplevert. Als u een lijst wilt krijgen van mensen van wie de verjaardag eraan komt voor de huidige maand, gebruikt u in plaats daarvan de volgende zoekopdracht.

'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. Ten slotte gaan we een AutoExec-macro maken. Hierdoor wordt de code uitgevoerd bij het openen van de database.Maak een AutoExec-macro
    • Ga naar Maken> Macro.
    • Kies RunCode in de vervolgkeuzelijst.
    • Schrijf voor de functienaam RunBirthdayReminders ().
    • Sla de macro op als AutoExec en klik op OK.
  1. Test nu uw verjaardagsherinnering.

Sluit de database en open deze opnieuw. Als er verjaardagen komen, zou het verjaardagsherinneringsformulier moeten verschijnen. Als dat niet het geval is, werkt de database zoals gewoonlijk.

Snelle herinnering

Nu voor een snelle herinnering. Als u op een dag uw database niet kunt openen, geen paniek. Onderneem de nodige stappen om het te herstellen. Als je het nog steeds niet kunt, probeer dan software van derden die dat wel zal doen toegang herstellen​ Er is nog steeds hoop.

Auteur Introductie:

Jayme Stack is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder sql herstel en Excel-herstelsoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.