Az alábbi témakörökből megismerheti a Vállalatok kezelése a Northwind Developer Edition kiadásban című témakört.
Megjegyzés: Erre a lapra az Access Developer Showcase Editionben hivatkozunk
A Northwind Starter Kiadásban az ügyfél az egyetlen vállalattípus. A Developer Editionben kibővültünk az Ügyfelek, a Szállítók és a Szállítók csomagokkal.
Kiterjesztettük a Termékek elemet is, hogy több szállítót is tartalmazzon egy termékhez.
Minden vállalat csak egy típus lehet: Ügyfél, Szállító vagy Szállító. A vállalat típusának módosítására vonatkozó üzleti esetet a cikk frmCompanyDetail szakaszában ismertetjük. '
Cégtípusok és használatuk helye
-
Rendelés ügyfele
-
Megrendelés feladója
-
Beszerzési rendelés szállítója
-
Termék szállítója
Emellett a Northwind Developer verzióban lévő vállalatoknak több kapcsolattartójuk is lehet. '
Vállalatok a menüszalagon
Ha a menüszalagOn a Vállalatok lehetőséget választja, a Vállalatok a Northwindben a frmCompanyList nézetben jelenik meg.
Céglista – frmCompanyList
A Northwind Fejlesztői verzióban az frmCompanyList egy osztott űrlap. Az osztott űrlapok az adatok két nézetét jelenítik meg egyszerre: űrlapnézetet és Adatlap nézetet. Emellett élőfejet és élőlábat is tartalmaz. Ebben a megvalósításban nem fogjuk megjeleníteni az űrlapnézetet. Ha nem jeleníti meg az űrlapnézetet, lesz egy élőfejet és élőlábat tartalmazó adatlap.
Ezt a következőképpen érhetjük el:
Az frmCompanyList fájlban a fejléc és az adatlap közötti elválasztósáv nem látható. Az Űrlap felosztása elválasztósáv tulajdonság értéke Nem, így elrejti az űrlapnézetet.
Az osztott űrlapok és az Adatlap űrlapok olyanok, mint az Excel-munkalapok. Támogatják a szűrést és a rendezést, valamint megjelenítheti, elrejtheti vagy áthelyezheti a mezőket vagy oszlopokat. Az oszlopok összege is összegezhető.
Az osztott űrlapok élőfej- és élőlábszakaszai lehetővé teszik parancsgombok, képek, szöveg(címkék) és bármely más, a felhasználói élményt javító hozzáférési űrlap-vezérlők használatát. Az űrlapokról és az osztott űrlapokról itt talál további információt. Az adatlapok nem jelenítik meg az élőfej- és élőlábszakaszokat.
További információ: Bevezetés az űrlapok használatába és Osztott űrlap létrehozása. '
A Céglista űrlap az alábbi öt műveletet támogatja:
-
Egyéni, előre összeállított, igény szerinti szűrés vagy mindkettő alkalmazása
-
Mezők megjelenítése/elrejtése
-
Címkék létrehozása
-
Szűrő megjelenítése
-
Új vállalat hozzáadása
Kattintson duplán a részletsor tetszőleges pontjára a Céges adatok űrlap megnyitásához (nem csak az azonosítón, mint más űrlapokon). '
Előre összeállított szűrők és igény szerinti szűrés
Az frmCompanyList űrlap számos lehetőséget kínál a Northwind vállalatainak szűrésére. A képernyő tetején az alábbi választógombokkal szűrhet:
-
Minden vállalat (alapértelmezett)
-
Csak ügyfelek
-
Csak szállítók
-
Csak szállítók
Emellett az adatlap beépített, igény szerinti szűrési lehetőségei is elérhetők. A rendszer a Vállalati lista űrlapra (előre összeállított vagy igény szerinti) alkalmazott szűrőket továbbítja és alkalmazza az frmCompanyDetail fájlra a megnyitáskor.
Ha szűrőket szeretne átadni egyik űrlapról a másikra, először megtisztítania kell az űrlap szűrősztringjét, hogy csak mezőneveket tartalmazzon. Tekintse meg a kódmodul Open_frmCompanyDetail részletesebb magyarázatát ennek módjáról, valamint az frmCompanyDetail fájlban a Form_Load megjegyzéseiben, hogy lássa, hogyan alkalmazzák.
A szűrési adatokat az űrlap OpenArgs tulajdonságán keresztül továbbítja a Céges adatok űrlapnak ahelyett, hogy egy where feltétellel nyitnánk meg az űrlapot. Az OpenArgsról itt talál további információt.
Mezők megjelenítése/elrejtése
A Mezők megjelenítése/elrejtése lehetőséget választva nyisson meg egy párbeszédpanelt az összes elérhető mező listájával; bejelölhet vagy törölhet egy vagy több oszlopot. A kijelölt elrendezés az alkalmazás új verziójának üzembe helyezéséig megmarad az egyik munkamenetből a másikba. Lásd: Oszlopok megjelenítése vagy elrejtése adatlapon.
Címkék létrehozása
A Címkék létrehozása gomb megnyitja az Access Címke varázslót. További információ a címkevarázslóról: Levélcímkék létrehozása az Accessben.
A Vállalati adatok megnyitása
Dupla kattintás egy részletsor tetszőleges pontjára az frmCompanyDetail megnyitásához
Kattintson az Azonosító mezőre (hivatkozásként beállítva), vagy kattintson duplán a részletsor bármely más mezőjére az frmCompanyDetail megnyitásához a kiválasztott Vállalat számára, és adja át a Vállalati listára alkalmazott űrlapszűrőt az frmCompanyDetail elemnek.
Cég részletei – frmCompanyDetail
Első pillantásra az frmCompanyDetail viszonylag egyszerűnek tűnhet. De nem így van. Az űrlap mögötti kódban sok minden történik! Az űrlap a következő műveleteket és funkciókat emeli ki:
-
Több parancsgomb és hivatkozás
-
Vállalat hozzáadása
-
Email céglista
-
Szűrő megjelenítése
-
Cég törlése
-
Térkép megnyitása cím alapján
-
Webhely megnyitása hivatkozásból
-
-
Műveletek megszakítása vagy mentése hozzáadási/szerkesztési módban
-
Vállalati típus módosításának szabályozására vonatkozó üzleti szabályok
-
Hivatkozási integritás ellenőrzése a törlési esemény előtt '
A Form_Load esemény a következő műveleteket tartalmazza:
-
Több paraméter használata az űrlapnak openArgs és az egyéni Northwind StringToDictionary függvény használatával
-
Az OpenArgs űrlaptulajdonság használatával engedélyezheti a felhasználónak, hogy új vállalatot vegyen fel megrendelés közben
-
Új vállalat hozzáadása a GoToRecord technikával
-
A SearchForRecord technikával lépjen az frmCompanyList elemen kiválasztott vállalatra
-
Elágaztatási/feltételes végrehajtási beállítások (lásd Form_Load eseményt)
-
1. lehetőség – Esetkimutatás
-
2. lehetőség – Máskülönben beágyazott
-
3. lehetőség – ElseIf
-
4. lehetőség – Beágyazott If Else és ElseIf '
-
A Form_Current eseményben a következők történnek:
-
A ManageFormOptions() alűrlap meghívásával módosíthat egy alűrlapot képaláírás és forrásobjektumot futásidőben. Ezt az alrutint az űrlap több helyről is meghívja. '
Műveletek megszakítása vagy mentése hozzáadási vagy szerkesztési módban.
Az Access-űrlapok kötöttek. Az mit jelent? Microsofttól: "A "kötött" űrlap olyan űrlap, amely közvetlenül kapcsolódik egy adatforráshoz, például egy táblához vagy lekérdezéshez, és az adatforrásból származó adatok megadására, szerkesztésére vagy megjelenítésére használható."
Kötött űrlapok esetén az Access nem követeli meg, hogy explicit módon "mentse" az adatokat. Amikor az egyik rekordról a következőre lép, az Access automatikusan menti az adatokat. Ez gyakran úgy működik, ahogy szeretné. De mi a teendő, ha a felhasználónak meg kell tennie egy műveletet, hogy jelezze, készen áll a mentésre?
Az frmCompanyDetail űrlap például rendelkezik a Partnerek (sfrmCompanyDetail_Contacts) alűrlappal. Mi történik tehát, ha elkezdi hozzáadni vagy szerkeszteni a vállalati adatokat – mondjuk a telefonszámot –, és szünetelteti a névjegyadatokban észlelt elírások kijavításait? Alapértelmezés szerint az Access menti a vállalati rekordban végzett módosításokat, amikor a partnerrekordra kattint, ami nem az, amit szeretne.
Ebben a formában bemutatjuk ennek egyik módját egy cég egyetlen rekordjával.
Mi az oka a Mégse gombnak? A feloldókulcs megszakítja az űrlap vezérlőelemében megadott vagy módosított (de nem mentett) adatokat. Ebben az állapotban a ceruza ikon jelenik meg a rekordválasztóban (egy szürke függőleges sáv a sor bal szélén).
Miután azonban a Vállalat hozzáadása gombra kattintott, észreveheti, hogy nincs ceruza ikon, amíg meg nem kezdi beírni az adatokat az új vállalati rekordba. Mi a teendő, ha ezen a ponton meggondolja magát egy új vállalat hozzáadásában? Ha lenyomja a feloldóbillentyűt, semmi sem történik, mert még nem adott meg adatokat. Ezért van a Mégse gomb.
A Mégse gombra való kattintás mindig működik; a feloldókulcs csak akkor működik, ha adatokat adott meg vagy módosított.
Ha elkezd adatokat hozzáadni vagy módosítani, majd bezárni az űrlapot anélkül, hogy a Mentés vagy a Mégse gombra kattint, az Access alapértelmezés szerint menti az adatokat.
Üzleti szabály: A Vállalatok Northwind üzleti szabályaként azt szeretnénk, hogy explicit módon jelezze a "Mentés" elemet. Ennek biztosításához ellenőriznünk kell, hogy a felhasználó a mentés gombra kattintott-e a Form_BeforeUpdate eseményben, és ha nem a Mentés gombra kattintott, kérje meg a felhasználót, hogy jelezze, szeretné-e menteni vagy megszakítani a módosításokat. '
Cégtípus módosítása
Üzleti szabály: Ha egy vállalat rendelkezik meglévő rendeléssel, beszerzési rendeléssel, vagy egy termék szállítója, a felhasználó nem módosíthatja a Vállalat típusát. Létrehoztunk egy CompanyIsActive() függvényt annak megállapításához, hogy létezik-e a fenti feltételek bármelyike. Ha igen, a felhasználó nem módosíthatja a vállalat típusát, amíg el nem törli (törli) a hivatkozásokat.
Ez a szabály csak ebben az űrlapban lesz kényszerítve. Éles üzemre kész alkalmazásokban nem engedélyezi a felhasználóknak az adatok módosítását a tábla közvetlen megnyitásával. A Northwindben lehetővé tesszük a táblák megnyitását, és a kívánt műveletet. Ez nagyszerű módja a tanulásnak, de lehetővé teszi, hogy olyan módosításokat hajthat végre, amelyek megsérthetik a szabályokat.
Mindig védekezően kell programod. Tervezze meg a váratlant. Még akkor is, ha a Vállalat jelenleg szállító, ez nem jelenti azt, hogy valamikor nem volt szállító vagy ügyfél. Az azonosítójuk a ProductVendor vagy a PurchaseOrder táblák régebbi rekordjaiban található. '
Egyéni párbeszédpanel űrlap.
Az eredmények megjelenítéséhez cboCompanyTypeID_BeforeUpdate egy frmGenericDialog nevű párbeszédpanelt használ. Ez nagyszerű alternatíva lehet a szokásos üzenetpanelnek, ha sok információt kell megjelenítenie. Az alkalmazotti űrlaphoz hasonló célra is használható." Hivatkozási integritás-ellenőrzés törlése
A Northwind Starter Kiadásban az Access alapértelmezett viselkedése értesíti Önt arról, hogy egy vállalat nem törölhető, ha kapcsolódó rekordokkal rendelkezik.
A Northwind Developer Editionben a törlés előtt értesítjük Önt az Access alapértelmezett viselkedésének elfogadása helyett. Ezt ugyanazt a függvényt használjuk, mint a Vállalat típusának módosítása; function CompanyIsActive().
A különbség az, hogy csak a Rendelések vagy a Rendelések érdeklik. Ha nincsenek Rendelések vagy Beszerzési Rendelések, megerősítjük törlési szándékát, és töröljük a termék szállítóját és a kapcsolattartókat , ha léteznek Az Ön számára.
-
Northwind 2.0 Developer Edition: Tudnivalók
-
Northwind 2.0 Developer Edition: Minden témakör