Válassza ki az alábbi témakörök bármelyikét, ha többet szeretne megtudni a Northwind Developer Edition alkalmazottakról .
Áttekintés
Az alkalmazottaknak egyetlen osztott űrlapja van, amely lista- és részletező űrlapként működik.
Alkalmazottak használata
Az Alkalmazottak listával új alkalmazottakat vehet fel, és frissítheti a meglévő alkalmazottak adatait.
Válassza a menüszalag Alkalmazottak lapját az alkalmazottak listájának megjelenítéséhez az "Alkalmazottak listája" űrlapon. Az űrlap az alábbi funkciókkal rendelkező osztott űrlap:
- Az űrlap felső része egyetlen alkalmazott nézete.
- Az űrlap alsó része az összes alkalmazott Adatlap nézete.
- Ha valamelyik részen kiválaszt egy alkalmazottat, akkor a fókusz az adott alkalmazottra kerül az osztott űrlap másik részén is.
- Az osztott űrlap mindkét részén hozzáadhat, szerkeszthet és törölhet alkalmazottakat.
- Ha az Adatlap nézet részével használ egy osztott űrlapot, az űrlap rekordforrása több rekorddal rendelkezik.
Az osztott űrlapok hatása a teljesítményre
A legtöbb fejlesztő nem szeret szűrés nélküli táblákat vagy lekérdezéseket betölteni rekordforrásként egy űrlaphoz. Ha egyetlen rekordra szűri az űrlapot, azzal minimalizálhatja a táblából az űrlapra átvinni kívánt adatok mennyiségét. Helyi Access-táblák esetén a szűrt rekordforrás és a kis méretű szűretlen rekordforrás betöltése közötti különbség alig észrevehető. Ez a teljesítmény azonban elvész, ha az Access-táblákat egy távoli, kiszolgálóalapú adatbázisra cseréli, mint amilyen például az SQL Server.
A Northwindben az alkalmazottakat tartalmazó táblázatnak nem szabad túl nagyra nőnie, ezért szűretlen rekordforrás használatát javasoljuk. A más táblákhoz kötött űrlapok, például a rendelés részletei – amelyek potenciálisan több ezer rekordra nőhetnek – nem alkalmasak szűrés nélküli rekordforrásra.
ALKALMAZOTTAK SZERKESZTÉSE
Az osztott űrlap rekordjainak hozzáadásakor és szerkesztésekor a felhasználók űrlap vagy adatlap nézetben is megadhatnak értékeket. Egyes mezők kötelezőek, mások kitöltése kötelező. Az űrlap ellenőrzi, hogy a kötelező mezőkben vannak-e értékek. Lásd alább a kötelező mezők érvényesítését .
Keresési táblázatok, értéklisták és legördülő menük
A Címek legördülő menü a bejegyzéseket az előre kiválasztott címek listájára korlátozza. A címek a Címek nevű keresésitáblázatban találhatók.
Néhány várt választási lehetőség már meg van adva a keresési táblában, de a felhasználók új címeket adhatnak a keresési táblához a kombinált lista alapértelmezett hozzáférési viselkedését használva, illetve a legördülő listákat használva.
- A Cím kombinált lista Korlátozás listaelemre tulajdonsága Igen értékre van állítva, a Címek szerkesztési űrlapja pedig a Listaelemek szerkesztése űrlaptulajdonságban található. Az űrlap legördülő menüjének kiválasztásakor megjelenik a szerkesztés ikon a képernyő alsó részén.
- A Cím kombinált lista Korlátozás listaelemre tulajdonsága Igen értékre van állítva, a Címek szerkesztési űrlapja pedig a Listaelemek szerkesztése űrlaptulajdonságban található. Az űrlap legördülő menüjének kiválasztásakor megjelenik a szerkesztés ikon a képernyő alsó részén.
A szerkesztési ikonra kattintva megnyílik a Címek szerkesztési űrlap ( frmEmployeeTitles), amelyben módosíthatja a jóváhagyott munkaköröket, vagy bővítheti azokat.
MEGJEGYZÉS: A legtöbb éles környezetben a címek szerkesztése és hozzáadása a kibővített jogosultságokkal rendelkező felhasználókra korlátozódik.
Önhivatkozó keresőmezők
Az alkalmazott függvény a Self-Referential azonosító mező fogalmát illusztrálja. Az alkalmazott felettesének kijelölését elősegíti a tábla SupervisorID (Felügyelőazonosító) mezője, amely a többi alkalmazott Alkalmazottkód mezőjét tartalmazza. Felettes kijelöléséhez egy másik alkalmazott Alkalmazottazonosító mezőjét kell ebbe a mezőbe írni. Az Access ennél a kapcsolatnál megőrzi a hivatkozási integritást.
A SupervisorID az alkalmazott űrlapján legördülő menüként vagy kombinált listaként van implementálva; a sorforrása az Alkalmazott tábla rekordjainak szűrt halmaza. Mivel a lekérdezés önreferencia, ki kell zárnia a kijelölt alkalmazott saját Alkalmazottazonosító mezőjét. Karen Finster alkalmazott SupervisorID sorforrása például nem tartalmazza Karen saját EmployeeID értékét. Nem lehet a saját maga felettese.
Mellékletmezők és -vezérlők
Az alkalmazottak képét a tábla mellékletmezője tárolja. Új képeket adhat hozzá, vagy módosíthatja a meglévőket, a hozzáférés alapértelmezett viselkedését alkalmazva a mellékletmezőkre.
MEGJEGYZÉS: Az Alkalmazottak táblában egy mellékletmezőt vettünk fel, amely szemlélteti az Access szolgáltatását. A beágyazott képek megnövelik az accdb-k méretét, ezért nem tekinthetők ajánlott eljárásnak. Gondosan értékelje ki a környezetet, mielőtt éles környezetben lévő alkalmazásba implementálná. Az előnyben részesített módszer egy olyan hálózati mappa, amely tárolja az összes képet, és nem a Melléklet mezőt, hanem egy hivatkozást helyez el a kép elérési útját tartalmazó táblázat egyik szövegmezőjében.
Segédűrlap kapcsolódó információkkal
Az Alkalmazottak űrlap jobb oldalán található Rendelések segédűrlap megjeleníti az alkalmazott által kezelt legutóbbi megrendeléseket (ha vannak ilyenek). A segédűrlap felsorolja a megrendeléseket Adatlap nézetben, a legújabbtól a legrégebbiig rendezve. Az adott alkalmazott már meglévő megrendelésének szerkesztéséhez kattintson a Rendelések segédűrlap hivatkozással ellátott Rendelésazonosító # mezőjére.
Employee Form's Recordsource
A qryEmployees nevű lekérdezés az űrlap rekordjait adja vissza. A tábla helyett inkább lekérdezés használatát javasoljuk. A lekérdezés csak egy táblából ad vissza rekordokat. Ezenkívül a lekérdezés paraméterezhető a visszaadott rekordok számának korlátozása érdekében.
- A lekérdezés Select záradéka a "*" helyettesítő karaktert használja az Alkalmazott tábla összes mezőjének visszaadására.
- A lekérdezés két számított mezője Vezetéknév, Vezetéknév és Vezetéknév, Utónév mezőt ad vissza.
Számított értékek vezérlőkben
MEGJEGYZÉS: A tábla nem tárolja a számított mezőket. Az űrlap rekordforrásában azonban rendelkezésre állnak.
Az alkalmazottak űrlapjain a legtöbb vezérlőelem engedélyezve van, így az egérrel vagy a Tab billentyűvel kijelölheti őket, és nincsenek zárolva , így szerkeszthetők.
Alkalmazottak programozása
Az Access beépített viselkedése mellett az űrlapokban, az űrlapok vezérlőelemeiben és az önálló modulokban lévő VBA-alfunkciók és -függvények az alkalmazottak számára megkövetelt logikát is elvégzik. A következő szakasz a függvényeket és az azokat megvalósító kódot ismerteti.
Beépített vezérlőművelet
Az űrlap rekordkijelölőjének alapértelmezett viselkedése:
- Ha egy űrlap bal oldalán lévő rekordválasztóra kattint egyetlen nézetben, az alkalmazás menti az aktuális rekordot a módosításokkal együtt. Ha a rekordkijelölőre kattint a bal gombbal, az elindítja a megfelelő VBA-alkaraktereket és -függvényeket.
- Ha a jobb gombbal egy űrlap bal oldalán lévő rekordválasztóra kattint egyetlen nézetben, megjelenik egy menü olyan műveletek végrehajtásához, mint a rekord kivágása, másolása vagy beillesztése. Egy rekord törlése vagy kivágása aktiválja az alábbiakban ismertetett EmployeeCanBeDeleted függvényt.
- Ahhoz, hogy ez az alapértelmezett viselkedés elérhető legyen, engedélyezni kell a rekordkijelölőket egy űrlapon.
Az űrlap rekordjainak hivatkozási integritása
A hivatkozási integritás megakadályozza a kapcsolódó táblákban gyermekrekordokkal rendelkező alkalmazottak törlését. Ezért az Access hibát küld, ha egy felhasználó gyermekrekordokat tartalmazó rekordot próbál törölni. A Northwind alkalmazotti űrlap Az Access a hivatkozási integritással kapcsolatos általános, alapértelmezett hibaüzeneteket egyéni üzenetekre cseréli.
Az űrlap Delete eljárásában szereplő kód válaszol a rekordok kivágására a helyi menüből, vagy a rekordok törlésére irányuló kísérletekre a Delete billentyűvel.
Egy privát függvény, az EmployeeCanBeDeleted, ellenőrzi az adott alkalmazotthoz kapcsolódó rekordokat a Rendelések, a Beszerzési rendelések, az Alkalmazottak és az Alkalmazottak jogosultságai táblában.
Ha igen, a függvény nem jeleníti meg az alapértelmezett hibaüzenetet, és tájékoztatja a felhasználót arról, hogy miért nem lehet a rekordot törölni. Ugyanazon az általános párbeszédpanelen tájékoztatja a felhasználót, mint amellyel értesíti a felhasználót arról, hogy miért nem lehet ügyfelet törölni.
Ellenőrzés
Az alkalmazottak érvényesítést és standard hibakezelést alkalmaznak. A vezérlőelemek érvényességének két típusa létezik.
- Kötelezően kitöltendő mezők
- Szabványos formátumok
Kötelező mező érvényesítése
Minden alkalmazotthoz három mezőt kell megadnia:
- Vezetéknév
- Utónév
- Beosztás
Ebben a fejlesztői verzióban az űrlap Frissítés előtti eseménye ellenőrzi a kötelező mezőket. Ha egy felhasználó olyan alkalmazotti rekordot próbál menteni, amelynek értéke nincs legalább egy kötelező mezőnél, de nincs érték, az érvényesítés megszakítja a mentést, és kiemeli az érték nélküli kötelező mezőket. A Northwindben az Alkalmazott űrlapon a kötelező mezők érvényesítését az űrlap Frissítés előtt eseménye kezeli, nem pedig az egyes vezérlők.
Az Alkalmazott űrlap Módosítás előtti eseménye ellenőrzi, hogy a három kötelező mezőben vannak-e értékek. Egy új vagy szerkesztett alkalmazotti rekord mentésekor aktiválódik az űrlap Frissítés előtti eseménye, amely meghívja azokat a nyilvános függvényeket, amelyek ellenőrzik a szükséges értékek meglétét vagy hiányát, és reagálnak azokra.
A modValidation modul a következő függvényeket tartalmazza:
- ValidateForm
- IsValidForm
- HighlightInvalidControls
- HighlightControl
- ValidateForm_RemoveHighlights
Új alkalmazottak kezelése
Az Add Employee (Alkalmazott hozzáadása ) gombra kattintva futtathatja a Private Sub btnNewEmployee_Click a következő műveletek elvégzéséhez:
- mentse az aktuális rekordot, és
- Az űrlap fókuszának beállítása Új rekordra
'
Helyettesítő karakterek és elnevezett mezők választó lekérdezésben
A qryEmployeesSELECT záradéka a "*" helyettesítő karaktert használja a tábla ÖSSZES mezőjének kijelöléséhez. A helyettesítő lekérdezések automatikusan tartalmazzák az alapul szolgáló táblából az újonnan hozzáadott mezőket, ami adott mezők listájával nem lehetséges. Másrészről is listázhat adott mezőket, hogy a visszaadott rekordhalmaz csak egy csak megjelenítendő űrlap szükséges mezőire korlátozható, például.
Megfelelő tervezési lehetőségek
A terveknek a követelményeknek megfelelő megközelítésen kell alapulniuk. Bár ha megvalósítható, általában azt a megközelítést részesítik előnyben, amely a legkevésbé valószínű, hogy jövőbeli karbantartást igényel (azaz a helyettesítő karakteres megközelítést).
Keresőtáblákhoz kötött ComboBoxes – Two Approaches
A kapcsolódó elemek, például az alkalmazott felettese, legördülő listákban vagy kombinált listákban jelennek meg az űrlapokon. Csak a SupervisorID mező idegen kulcsára van szükség az űrlap rekordforrás-lekérdezésében , mert ez a mező hozzá van kötve az idegen kulcs mezőhöz (SupervisorID). A kombinált lista a megfelelő szöveges értéket is megjeleníti.
Ezt egy rejtett azonosítóoszloppal és egy látható Leírás oszloppal megjelenítő kétoszlopos kombinált listával teheti meg. Az Alkalmazott űrlapon a Felügyelő kombinált lista egy egyszerű kétoszlopos lekérdezéshez kötött. Lásd a Supervisor RowSource tulajdonságát.
Bizonyos esetekben azonban a keresési táblának nincs külön elsődleges kulcsa, ezért maga a szöveges érték az elsődleges kulcs.
Ha a lehetséges értékek listája kicsi és nagymértékben stabil, mint például egy alkalmazott beosztása, azt gyakran zárt tartománynak nevezik. A Cím mező értékeinek módosítása vagy hozzáadása ritkán fordul elő. A zárt tartományok keresési táblái az egyoszlopos lekérdezés jelöltjei.
Az Alkalmazott űrlapon a Cím kombinált lista egy beosztásokból álló egyoszlopos lekérdezéshez kötött. A Címek tulajdonságban a RowSource tulajdonságot találja.
További információ
- További tudnivalók az osztott űrlapokról
- További információ a hivatkozási integritásról
- Northwind 2.0 Developer Edition: Minden témakör
- Northwind 2.0 Developer Edition: Tudnivalók