Születésnapi emlékeztetők hozzáadása a hozzáférési adatbázishoz

Oszd meg most:

Ismerje meg, hogyan adhat születésnapi emlékeztetőket Access-adatbázisához. Értesüljön, ha ügyfele vagy alkalmazottja születésnapja közeleg, hogy elküldhesse meleg üdvözletét.

A születésnapi üdvözlet küldése nagyszerű módja lehet az ügyfelekkel vagy alkalmazottakkal való kapcsolatteremtésnek és kapcsolat megerősítésének. Ha ügyfél-/alkalmazotti rekordokat tartalmazó Access-adatbázist kezel, nagyszerű lehet, ha időről időre értesítést kap, ha egy ügyfél vagy alkalmazott születésnapja közeleg. Ebből az oktatóanyagból megtudhatja, hogyan hozhat létre olyan funkciót, amely értesíti Önt valaki különleges napjáról, amint megnyitja az adatbázist.

Töltse le most

Ha azt szeretné, hogy starHa a lehető leghamarabb szeretné használni a funkciót, akkor:

Töltse le a mintaadatbázist VBA-kódokkal most

Ellenkező esetben, ha barkácsolni szeretne, az alábbiakban olvashatja a tartalmat.

Előfeltétel

Ez az oktatóanyag feltételezi, hogy van egy táblázat az adatbázisban, amely tartalmazza a következő 3 mezőt: keresztnév, vezetéknév és születésnap.

Születésnapi emlékeztetők hozzáadásának lépései az Access Database-ban

  1. Hozzon létre egy új táblát, és nevezze el Születésnapi Ünneplők. Ez szolgál majd a születésnapi ünneplők listájának tárházaként. Adjon hozzá 3 mezőt az alábbiak szerint. Nincs szükség elsődleges kulcsra.Születésnapi ünneplők asztala
  2. Hozzon létre egy űrlapot a BirthdayCelebrants számára. Ez az űrlap az adatbázis megnyitásakor jelenik meg, ha közelgő születésnapok vannak.Hozzon létre egy űrlapot a születésnapi ünneplők számára
  • A navigációs panelen válassza ki a BirthdayCelebrants táblázatot.
  • Lépjen a Létrehozás > Űrlap menüpontra.
  • A rendszer automatikusan létrehoz egy egységes űrlapot.

Mivel a születésnapi ünneplők listáját fogjuk megjeleníteni, azt javaslom, hogy módosítsa az űrlap alapértelmezett nézetét Adatlapra vagy Folyamatos űrlapokra. Így gyorsan áttekintheti a listát.Módosítsa az űrlap alapértelmezett nézetét

  • Tervezési nézetben válassza ki az űrlapot.
  • Nyissa meg a tulajdonságlapot (ALT + F11)
  • Válassza a Formátum > Alapértelmezett nézet menüpontot.
  • Válassza ki a kívánt nézetet – Adatlap vagy Folyamatos űrlapok.

Ha a Folyamatos űrlapokat választotta, módosítsa a tervet az igényeinek megfelelően. Így néz ki az enyém:Válassza a Folyamatos űrlapok lehetőséget, és szerkessze a tervet

Módosítottam a Születésnap szövegdoboz formátumát, hogy az értékek Hosszú dátum formátumban jelenjenek meg. Ezenkívül a következő frissítéseket végeztem az űrlap tulajdonságaiban:

  • Kiegészítések engedélyezése: Nem
  • Törlés engedélyezése: Nem
  • Szerkesztés engedélyezése: Nem

Ha kész, zárja be az űrlapot, és mentse másként frm_BirthdayCelebrants.

  1. Adja hozzá a születésnapi emlékeztető kódját.
    • Új modul hozzáadása.Új modul hozzáadása
    • Ezzel megnyílik a VBA szerkesztő.
    • Adja hozzá a következő kódot, és módosítsa az igényeinek megfelelően.
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

Kérjük, vegye figyelembe, hogy a fenti kód olyan lekérdezést használ, amely az aktuális nap születésnapi ünneplőinek listáját kapja. Ha listát szeretne kapni azokról az emberekről, akiknek közeleg a születésnapja az adott hónapban, használja inkább a következő lekérdezést.

'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"
  1. Végül létrehozunk egy AutoExec makrót. Ez futtatja a kódot az adatbázis megnyitásakor.Hozzon létre egy AutoExec makrót
    • Lépjen a Létrehozás > Makró menüpontra.
    • választ RunCode a legördülő listából.
    • A függvény nevéhez írja be Születésnapi emlékeztetők futtatása ().
    • Mentse el a makrót másként AutoExec és kattintson az OK gombra.
  1. Most tesztelje a születésnapi emlékeztetőt.

Zárja be az adatbázist, majd nyissa meg újra. Ha közelgő születésnapok vannak, a születésnapi emlékeztető űrlapnak fel kell bukkannia. Ha nincs, az adatbázis a szokásos módon fog futni.

Gyors emlékeztető

Most egy gyors emlékeztető. Ha egy nap nem tudja megnyitni az adatbázist, ne essen pánikba. Tegye meg a szükséges lépéseket a helyreállításhoz. Ha még mindig nem tudja, próbáljon ki harmadik féltől származó szoftvert, amely megteszi fix Access. Még van remény.

Szerző Bevezetés:

Jayme Stack adat-helyreállítási szakértő DataNumen, Inc., amely világelső az adat-helyreállítási technológiák területén, beleértve sql helyreállítás és Excel helyreállítási szoftvertermékek. További információért látogasson el www.datanumen.com

Oszd meg most:

Hozzászólások lezárva.