Finn ut hvordan du kan legge til bursdagspåminnelser i Access-databasen. Bli informert om bursdagen til klienten eller ansatte nærmer seg, slik at du kan sende dem din varme hilsen.
Å sende bursdagshilsener kan være en fin måte å koble til og styrke forholdet til en klient eller ansatt. Hvis du håndterer en Access-database som inneholder kunde-/ansattposter, kan det være flott å bli varslet fra tid til annen hvis en klients eller ansatts bursdag nærmer seg. I denne opplæringen lærer du hvordan du kan lage en funksjon som vil varsle deg om noens spesielle dag i det øyeblikket du åpner databasen.
Last ned nå
Hvis du ønsker å starFor å bruke funksjonen så snart som mulig, kan du:
Last ned prøvedatabasen med VBA-koder nå
Ellers, hvis du vil gjøre DIY, kan du lese innholdet nedenfor.
Forutsetning
Denne opplæringen forutsetter at du har en tabell i databasen som inneholder disse 3 feltene: fornavn, etternavn og fødselsdag.
Trinn for å legge til bursdagspåminnelser i Access-databasen
- Lag en ny tabell og gi den et navn Bursdagsfeirer. Dette vil fungere som oppbevaringssted for listen over bursdagsfeirere. Legg til 3 felter som vist nedenfor. Ikke behov for en primærnøkkel.
- Lag et skjema for bursdagsfeirere. Dette skjemaet vil dukke opp når du åpner databasen hvis det er kommende bursdager.
- Velg tabellen BirthdayCelebrants i navigasjonsruten.
- Gå til Opprett > Skjema.
- Et enkelt skjema opprettes automatisk for deg.
Siden vi skal vise en liste over bursdagsfeirere, vil jeg foreslå at du endrer standardvisningen for skjemaet til enten dataark eller kontinuerlige skjemaer. På denne måten kan du få en rask oversikt over listen.
- Velg skjemaet mens du er i designvisning.
- Åpne egenskapsarket (ALT + F11)
- Gå til Format > Standardvisning.
- Velg ønsket visning – enten dataark eller kontinuerlige skjemaer.
Hvis du har valgt Kontinuerlige skjemaer, rediger designet slik at det samsvarer med dine preferanser. Slik ser min ut:
Jeg har redigert formatet til bursdagstekstboksen slik at verdiene vises i formatet Lang dato. Jeg har også gjort følgende oppdateringer på egenskapene til skjemaet:
- Tillat tillegg: Nei
- Tillat slettinger: Nei
- Tillat redigeringer: Nei
Når du er ferdig, lukk skjemaet og lagre det som frm_BirthdayCelebrants.
- Legg til koden for bursdagspåminnelsen.
- Legg til en ny modul.
- Dette vil åpne VBA Editor.
- Legg til følgende kode og modifiser den for å passe dine behov.
- Legg til en ny modul.
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
Vær oppmerksom på at koden ovenfor bruker et søk som får en liste over bursdagsfeirere for gjeldende dag. Hvis du ønsker å få en liste over personer som har fødselsdag for inneværende måned, bruk følgende forespørsel 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"
- Til slutt skal vi lage en AutoExec-makro. Dette vil kjøre koden når du åpner databasen.
- Gå til Opprett > Makro.
- Velg Kjørekode fra rullegardinlisten.
- For funksjonsnavnet, skriv RunBirthdayReminders().
- Lagre makroen som AutoExec og klikk på OK.
- Nå, test bursdagspåminnelsen din.
Lukk databasen og åpne den på nytt. Hvis det er kommende bursdager, bør bursdagspåminnelsesskjemaet dukke opp. Hvis ingen, vil databasen kjøre som vanlig.
Rask påminnelse
Nå for en rask påminnelse. Hvis du en dag ikke kan åpne databasen din, ikke få panikk. Ta de nødvendige skritt for å gjenopprette den. Hvis du fortsatt ikke kan, prøv tredjepartsprogramvare som vil fikse Access. Det er fortsatt håp.
Forfatterintroduksjon:
Jayme Stack er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert sql utvinning og excel-programvareprodukter for gjenoppretting. For mer informasjon besøk www.datanumen. Med




