Zistite, ako môžete do svojej databázy Accessu pridať pripomienky k narodeninám. Ak máte blížiace sa narodeniny klienta alebo zamestnanca, buďte informovaní, takže im môžete poslať srdečný pozdrav.
Posielanie pozdravov k narodeninám môže byť skvelým spôsobom, ako spojiť a upevniť vzťah s klientom alebo zamestnancom. Ak pracujete s databázou Accessu, ktorá obsahuje záznamy o zákazníkoch / zamestnancoch, môže byť skvelé byť z času na čas upozornený, ak sa blížia narodeniny klienta alebo zamestnanca. V tomto tutoriále sa dozviete, ako môžete vytvoriť funkciu, ktorá vás upozorní na špeciálny deň niekoho v okamihu, keď otvoríte databázu.
stiahnuť
Ak chcete začať používať túto funkciu čo najskôr, môžete:
Stiahnite si ukážkovú databázu s kódmi VBA
V opačnom prípade si môžete prečítať obsah uvedený nižšie.
predpoklad
Tento výukový program predpokladá, že vo svojej databáze máte tabuľku, ktorá obsahuje tieto 3 polia: meno, priezvisko a dátum narodenia.
Kroky na pridanie pripomienky k narodeninám v databáze Access
- Vytvorte novú tabuľku a pomenujte ju NarodeninyOslava. Bude slúžiť ako úložisko pre zoznam oslavujúcich narodenín. Pridajte 3 polia, ako je uvedené nižšie. Nie je potrebný primárny kľúč.
- Vytvorte formulár pre BirthdayCelebrants. Tento formulár sa otvorí pri otvorení databázy, ak majú blížiace sa narodeniny.
- Na navigačnom paneli vyberte tabuľku BirthdayCelebrants.
- Prejdite do ponuky Vytvoriť> Formulár.
- Automaticky sa pre vás vytvorí jednotný formulár.
Pretože zobrazíme zoznam narodeninových oslávencov, navrhujem vám zmeniť Predvolené zobrazenie formulára na Datasheet alebo Kontinuálne formuláre. Takto získate rýchly prehľad o zozname.
- V návrhovom zobrazení vyberte formulár.
- Otvoriť hárok vlastností (ALT + F11)
- Prejdite do ponuky Formát> Predvolené zobrazenie.
- Vyberte požadované zobrazenie - údajový list alebo súvislé formuláre.
Ak ste vybrali súvislé formuláre, upravte dizajn tak, aby zodpovedal vašim preferenciám. Takto vyzerá ten môj:
Upravil som formát textového poľa Narodeniny, aby sa hodnoty zobrazovali vo formáte Long Date. Ďalej som vykonal nasledujúce aktualizácie vlastností formulára:
- Povoliť doplnky: Nie
- Povoliť vymazanie: Nie
- Povoliť úpravy: Nie
Po dokončení formulár zavrite a uložte ako frm_BirthdayCelebranti.
- Pridajte kód pre pripomenutie narodenín.
- Pridajte nový modul.
- Otvorí sa editor VBA.
- Pridajte nasledujúci kód a upravte ho tak, aby vyhovoval vašim potrebám.
- Pridajte nový 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
Upozorňujeme, že vyššie uvedený kód používa dopyt, ktorý získa zoznam oslavujúcich narodenín pre aktuálny deň. Ak chcete získať zoznam ľudí, ktorých narodeniny sa blížia k aktuálnemu mesiacu, použite namiesto toho nasledujúci dotaz.
'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"
- Nakoniec vytvoríme makro AutoExec. Týmto sa spustí kód pri otvorení databázy.
- Prejdite na položky Vytvoriť> Makro.
- vybrať RunCode z rozbaľovacieho zoznamu.
- Ako názov funkcie napíšte RunBirthdayReminders ().
- Uložte makro ako AutoExec a kliknite na tlačidlo OK.
- Teraz otestujte svoje pripomenutie narodenín.
Zatvorte databázu a znova ju otvorte. Ak budú blížiace sa narodeniny, mal by sa zobraziť formulár na pripomenutie narodenín. Ak žiadny, databáza bude bežať ako obvykle.
Rýchle pripomenutie
Teraz pre rýchle pripomenutie. Ak jedného dňa nemôžete otvoriť svoju databázu, neprepadajte panike. Urobte potrebné kroky na jeho obnovenie. Ak stále nemôžete, vyskúšajte softvér tretích strán, ktorý to urobí opraviť prístup. Stále existuje nádej.
Úvod autora:
Jayme Stack je expert na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane zotavenie sql a vynikajúce softvérové produkty na obnovenie. Pre viac informácií navštívte www.datanumen. S




