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
- 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.
- Maak een formulier voor BirthdayCelebrants. Dit formulier zal verschijnen bij het openen van de database als er aanstaande verjaardagen zijn.
- 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.
- 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:
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.
- Voeg de code voor de verjaardagsherinnering toe.
- Voeg een nieuwe module toe.
- Hiermee wordt de VBA-editor geopend.
- Voeg de volgende code toe en pas deze aan uw behoeften aan.
- Voeg een nieuwe module toe.
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"
- Ten slotte gaan we een AutoExec-macro maken. Hierdoor wordt de code uitgevoerd bij het openen van de database.
- Ga naar Maken> Macro.
- Kies RunCode in de vervolgkeuzelijst.
- Schrijf voor de functienaam RunBirthdayReminders ().
- Sla de macro op als AutoExec en klik op OK.
- 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




