Saznajte kako možete dodati podsjetnike za rođendane u bazu podataka programa Access. Budite obaviješteni ako se bliži rođendan vašeg klijenta ili zaposlenika kako biste mu uputili toplu čestitku.
Slanje rođendanskih čestitki može biti izvrstan način povezivanja i jačanja odnosa s klijentom ili zaposlenikom. Ako rukujete Access bazom podataka koja sadrži evidenciju kupaca/zaposlenika, može biti sjajno dobiti obavijest s vremena na vrijeme ako se bliži rođendan klijenta ili zaposlenika. U ovom ćete vodiču naučiti kako možete stvoriti funkciju koja će vas obavijestiti o nečijem posebnom danu čim otvorite bazu podataka.
Preuzmite sada
Ako želite što prije početi koristiti značajku, možete:
Odmah preuzmite oglednu bazu podataka s VBA kodovima
Inače, ako želite DIY, možete pročitati sadržaj u nastavku.
Preduvjet
Ovaj vodič pretpostavlja da u svojoj bazi podataka imate tablicu koja sadrži ova 3 polja: ime, prezime i rođendan.
Koraci za dodavanje rođendanskih podsjetnika u Access bazu podataka
- Napravite novu tablicu i dajte joj naziv RođendanSlavnici. Ovo će služiti kao spremište za popis slavljenika rođendana. Dodajte 3 polja kao što je prikazano u nastavku. Nema potrebe za primarnim ključem.
- Napravite obrazac za BirthdayCelebrants. Ovaj obrazac će se pojaviti nakon otvaranja baze podataka ako postoje nadolazeći rođendani.
- U navigacijskom oknu odaberite tablicu BirthdayCelebrants.
- Idite na Stvori > Obrazac.
- Za vas će se automatski izraditi jedinstveni obrazac.
Budući da ćemo prikazati popis rođendanskih slavljenika, predlažem da promijenite zadani prikaz obrasca u Datasheet ili Continuous Forms. Na taj način možete imati brzi pregled popisa.
- Dok ste u prikazu dizajna, odaberite obrazac.
- Otvorite list sa svojstvima (ALT + F11)
- Idite na Format > Zadani prikaz.
- Odaberite željeni prikaz – ili Datasheet ili Continuous Forms.
Ako ste odabrali Kontinuirane forme, uredite dizajn kako bi odgovarao vašim željama. Evo kako moje izgledaju:
Uredio sam format tekstnog okvira Rođendan tako da će vrijednosti biti prikazane u formatu dugog datuma. Također sam izvršio sljedeća ažuriranja svojstava obrasca:
- Dopusti dodatke: Ne
- Dopusti brisanje: Ne
- Dopusti uređivanja: Ne
Kada završite, zatvorite obrazac i spremite ga kao frm_Slavljenici rođendana.
- Dodajte kod za podsjetnik na rođendan.
- Dodajte novi modul.
- Ovo će otvoriti VBA Editor.
- Dodajte sljedeći kod i modificirajte ga kako bi odgovarao vašim potrebama.
- Dodajte novi 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
Imajte na umu da gornji kod koristi upit koji dobiva popis rođendanskih slavljenika za tekući dan. Ako želite dobiti popis ljudi čiji rođendan dolazi za tekući mjesec, umjesto toga upotrijebite sljedeći upit.
'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"
- Konačno, napravit ćemo AutoExec makronaredbu. Ovo će pokrenuti kod nakon otvaranja baze podataka.
- Idite na Stvori > Makro.
- odabrati RunCode s padajućeg popisa.
- Za naziv funkcije napišite Pokreni BirthdayReminders().
- Spremite makro kao AutoExec i kliknite U redu.
- Sada testirajte svoj rođendanski podsjetnik.
Zatvorite bazu podataka i ponovno je otvorite. Ako su predstojeći rođendani, trebao bi se pojaviti obrazac za podsjetnik na rođendan. Ako nema, baza podataka će raditi kao i obično.
Brzi podsjetnik
Sada za brzi podsjetnik. Ako jednog dana ne budete mogli otvoriti svoju bazu podataka, nemojte paničariti. Poduzmite potrebne korake za oporavak. Ako i dalje ne možete, isprobajte softver treće strane koji hoće popraviti Access. Još ima nade.
Uvod za autora:
Jayme Stack je stručnjak za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući sql oporavak i excel softverski proizvodi za oporavak. Za više informacija posjetite www.datanumen.com




