Saznajte kako možete dodati podsjetnike za rođendane u vašu Access bazu podataka. Budite obaviješteni ako se bliži rođendan vašeg klijenta ili zaposlenika kako biste im mogli poslati srdačnu čestitku.
Slanje rođendanskih čestitki može biti odličan način za povezivanje i jačanje odnosa sa klijentom ili zaposlenim. Ako rukujete Access bazom podataka koja sadrži zapise kupaca/zaposlenih, može biti sjajno da s vremena na vrijeme budete obaviješteni ako se približava rođendan klijenta ili zaposlenika. U ovom vodiču ćete naučiti kako možete kreirati funkciju koja će vas obavijestiti o nečijem posebnom danu u trenutku kada otvorite bazu podataka.
Preuzeti sada
Ako želite da start da koristite funkciju što je prije moguće, tada možete:
Odmah preuzmite uzorak baze podataka sa VBA kodovima
Inače, ako želite DIY, možete pročitati sadržaj ispod.
Preduslov
Ovaj vodič pretpostavlja da imate tabelu u bazi podataka koja sadrži ova 3 polja: ime, prezime i rođendan.
Koraci za dodavanje podsjetnika za rođendane u Access bazu podataka
- Kreirajte novu tabelu i dajte joj naziv BirthdayCelebrants. Ovo će služiti kao spremište za listu rođendanskih slavljenika. Dodajte 3 polja kao što je prikazano ispod. Nema potrebe za primarnim ključem.
- Kreirajte obrazac za rođendanske slavlje. Ovaj obrazac će se pojaviti nakon otvaranja baze podataka ako postoje nadolazeći rođendani.
- U oknu za navigaciju odaberite tabelu BirthdayCelebrants.
- Idite na Kreiraj > Obrazac.
- Za vas će se automatski kreirati jedinstveni obrazac.
Pošto ćemo prikazati listu slavljenika rođendana, predlažem da promijenite zadani prikaz obrasca u list sa podacima ili kontinuirani obrasci. Na ovaj način možete imati brzi pregled liste.
- Dok ste u prikazu dizajna, odaberite obrazac.
- Otvorite listu sa svojstvima (ALT + F11)
- Idite na Format > Zadani prikaz.
- Odaberite željeni prikaz – ili list sa podacima ili kontinuirani obrasci.
Ako ste odabrali Kontinuirane forme, uredite dizajn tako da odgovara vašim željama. Evo kako moji izgledaju:
Uredio sam format okvira za tekst rođendana tako da će vrijednosti biti prikazane u formatu dugog datuma. Također, napravio sam sljedeća ažuriranja o svojstvima obrasca:
- Dozvoli dodatke: Ne
- Dozvoli brisanja: Ne
- Dozvoli uređivanje: Ne
Kada završite, zatvorite obrazac i sačuvajte ga kao frm_BirthdayCelebrants.
- Dodajte kod za podsjetnik za rođendan.
- Dodajte novi modul.
- Ovo će otvoriti VBA Editor.
- Dodajte sljedeći kod i izmijenite ga tako da odgovara 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 dobija listu rođendanskih slavljenika za tekući dan. Ako želite da dobijete listu ljudi čiji se rođendan bliži za tekući mjesec, umjesto toga koristite 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, kreiraćemo makro AutoExec. Ovo će pokrenuti kod nakon otvaranja baze podataka.
- Idite na Kreiraj > Makro.
- izabrati RunCode sa padajuće liste.
- Za Naziv funkcije upišite RunBirthdayReminders().
- Sačuvajte makro kao AutoExec i kliknite OK.
- Sada testirajte svoj rođendanski podsjetnik.
Zatvorite bazu podataka i ponovo je otvorite. Ako postoje nadolazeći rođendani, obrazac podsjetnika za rođendan bi trebao iskočiti. Ako nema, baza podataka će raditi kao i obično.
Brzi podsjetnik
Sada za brzi podsjetnik. Ako jednog dana ne možete otvoriti svoju bazu podataka, nemojte paničariti. Poduzmite potrebne korake da ga oporavite. Ako i dalje ne možete, isprobajte softver treće strane koji hoće popraviti pristup. Još ima nade.
Uvod za autora:
Jayme Stack je stručnjak za oporavak podataka 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




