Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

Az alábbi témakörök közül választva megismerheti a Megrendelések kezelését a Northwind Developer Edition kiadásban. 

A Northwind Orders mintaalkalmazás ezen Fejlesztői kiadása fejlettebb, mint a Starter Kiadás. Kibővíti az adatbázissémát (a használt táblákat), és most további speciális funkciókat biztosít. A cél az, hogy bemutassa a Microsoft Access funkcióit, ne pedig egy adott vállalkozást.

  • A rendeléslista a menüszalagon érhető el. Néhány szűrőbeállítással és hivatkozással is rendelkezik az egyes megrendelések megnyitásához.

  • A Rendeléslista és a Menüszalag is rendelkezik egy Rendelés hozzáadása gombbal egy új üres rendelés megnyitásához.

  • Az Új rendelés űrlapon válasszon ki egy meglévő ügyfelet a legördülő listából. Ekkor ki van jelölve az Alkalmazott neve és az új állapot. A Rendelés dátuma már ki van töltve. Az adókulcsot a rendszer a SystemSettings táblából olvassa be, az Adó állapota pedig alapértelmezés szerint az Ügyfél rekordból.

  • Az új rendelések és beszerzési rendelések a menüszalag MRU (legutóbb használt) listájához lesznek hozzáadva. További információt a cikkMRU-lista című szakaszában talál. 

  • Egyelőre hagyja üresen a Szállítási dátum és a Fizetett dátum mezőt .

  • Új ügyfelek rendeléseinek hozzáadásához adja meg a vállalat nevét és a tabulátort. Megnyílik a Céges adatok űrlap az új ügyfélrekord befejezéséhez. Ezután zárja be, és folytassa a megrendeléssel. Az új vállalat ekkor megjelenik az Ügyfél legördülő listában.

  • Ha elemeket szeretne hozzáadni egy rendeléshez, válasszon ki egy termékkategóriát és egy terméket a rendeléshez, és adja meg a Mennyiség értéket. Az egységár ki van töltve, az Ár pedig egy kifejezéssel lesz kiszámítva.

  • Rendelés állapota előre, és helyezze át a rendelést a munkafolyamaton a New > Invoiced > Shipped > Closed (Kiszállított > Lezárva ) lehetőségről a Rendelés űrlap tetején található gombokkal.

  • Számlázás csak akkor lehetséges, ha a termék ki van foglalva ehhez a rendeléshez. Ha egy sorelem Nincs készlet vagy Rendelésre állapotú, érvényesítési hiba lép fel. A felhasználó létrehozhat egy beszerzési rendelést a termékhez, és megkaphatja azt, és a rendelési tétel állapota a Lefoglalt értékre lesz módosítva.

  • A megrendelés feladásához meg kell adni a Szállítási díjat és a Szállítási díjat . Ha elfelejti ezt megtenni, érvényesítési hiba lép fel. A szállítási díj hozzáadódik a rendelés összegéhez.

  • A nem feladott rendelések a Rendelés törlése gombbal törölhetők.

  • A rendeléssorelemek nem módosíthatók, ha a rendelés már nem szerepel az Új állapotban.

  • A Northwind Starter verzióban a rendelési folyamat hihetetlenül egyszerű (például a leltár mindig elérhető, soha nem fogy el, és soha nem kell megvásárolni). Ebben a Dev kiadásban egy reálisabb folyamat foglalkozik legalább néhány ilyen problémával. Ne feledje, hogy az Access funkcióit és ajánlott eljárásait mutatjuk be, nem valós alkalmazásokat implementálunk. 

  • Annak bizonyítéka, hogy itt nem valós alkalmazást implementálunk, az a tény is, hogy a dátumok érvényesítése nem történik meg. Ezért olyan logikátlan dátumokat is megadhat, mint a szállítási dátum, amely a rendelés dátuma előtt van. 

Ez a szakasz a rendelési űrlap (frmOrderDetails) figyelemre méltó implementációjának részleteit ismerteti:

A rendelési űrlap egy egyszerű qryOrder lekérdezésből olvassa be az adatait (lásd : RecordSource tulajdonság). Ajánlott egy adatbeviteli űrlapot egy egyszerű egytáblás lekérdezésre alapozni. Vegye figyelembe, hogy ebben a lekérdezésben nem szükséges belefoglalni az OrderDetails táblát. A rendelés részleteit a segédűrlap kezeli.

Az OrderList űrlap a Rendelési űrlap több példányát is megnyithatja. Ez azért hasznos, mert az értékesítők sok megszakítással foglalkoznak, és előfordulhat, hogy egy másik megrendelést kell nyitniuk, miközben az elsőn dolgoznak, vagy összehasonlítják egy harmadik megrendeléssel. A technikát itt dokumentáljuk.

A különböző azonosítómezők kétoszlopos kombinált listákból kapják meg az értékeiket: egy rejtett azonosító oszlopból és egy látható Leírás oszlopból. Ezek a kombinált listák egyszerű kétoszlopos lekérdezésekhez vannak kötve: lásd a RowSource tulajdonságot.

A munkafolyamat-gombokhoz üzleti logika van társítva, amely arra kényszeríti a felhasználót, hogy 1-ről 4-re haladjon. A Northwind Development csapata tisztában van azzal, hogy egyes vállalatok különböző szabályokat használhatnak. Ez a gomb kattintási eseményeinek eltérő implementációját eredményezné, valamint újra megvizsgálná, hogy mikor van meghatározva egy rendelés, és mikor törölhető még a rendelés.

Az sfrmOrderDetails segédűrlap egy összetettebb lekérdezéshez van kötve. Ennek okait az alábbi Kaszkádolt kombinált listák című szakaszban tárgyaljuk. A sor mentésekor a Form_AfterUpdate eseményben ellenőrizzük a leltárt, és hatékonyabb adatbázis-lekérdezéseket futtathatunk.

A ProductCategory és a Product lépcsőzetes kombinált listák: az első (ProductCategory) listából kiválasztva a következő leszűkül a gyermektermékrekordokra. Az itt használt technikát az alábbiakban ismertetjük részletesen.

Rekord mentésekor a kötelező mezőket ki kell tölteni. A Starter kiadásban lehetővé tesszük az Access alapértelmezett viselkedését; ebben a Dev kiadásban egy felhasználóbarátabb technikát implementálunk. Az itt használt technikát az alábbiakban ismertetjük részletesen.

Minden rendelési sortétel esetében a rendszer ellenőrzi a rendelkezésre álló készletet, és ennek megfelelően állítja be az állapotot. Ennek a funkciónak az alapötletét itt ismertetjük.
 

KASZKÁDOLT KOMBINÁLT LISTÁK

A Termékkategória és a Termék legördülő lista kaszkádolt kombinált listaként való implementálása nehézkes, mert az Access nem támogatja ezt a funkciót. Ebben a technikában négy lépésre van szükség:

Az űrlapnak Folyamatos űrlap módban kell lennie (nem Adatlap módban). A szövegdobozok átfedésben vannak az egyes kombinált listák szövegrészével, így csak a legördülő nyilak láthatók. 

Az űrlap rekordforrás-lekérdezése, a qryOrderLineItems a szokásos módon az OrderDetails táblát használja, de a Products és a ProductCategories táblákkal összekapcsolva felveszi a ProductName és a ProductCategoryName táblát. A két egymást átfedő szövegmező ezekhez a mezőkhöz van kötve.

A Termékek sorforrása kombinált lista visszatekint a cboProductCategories webhelyre, hogy csak a kombinált listában kiválasztott kategóriához tartozó termékeket adja vissza. Jegyezze fel a következő szintaxist: "[Űrlap]! [cboProductCategories]" a kritériumkifejezésben, amely rugalmasabb, mint az explicit Forms! FormName! ControlName szintaxis, amely egy űrlapra hivatkozik név szerint.

Miután kiválasztott egy termékkategóriát a kötetlen ProductCategories kombinált listában, az AfterUpdate esemény a Termékek kombinált listát a lista első értékére állítja. Ez létrehoz egy új sort az űrlap RecordSource elemében, amely feltölti a CategoryName mezőt, hogy az átfedésben lévő szövegmezővel megjeleníthető legyen.
 

ÉRVÉNYESÍTÉS

A Northwind Dev kiadásban implementált érvényesítési kód használata csak 3 sornyi kódot vesz igénybe:

  • In Form_BeforeUpdate:
       Cancel = ValidateForm(Me)

  • Form_AfterUpdate és Form_Current:
        ValidateForm_RemoveHighlights Me

A kód nagyon önállóvá tétele jó követendő minta, mivel mindenhol megkönnyíti a implementálást. A profi fejlesztők ezt még tovább vihetik, például űrlap-alosztályozással. (Ez meghaladja a Northwind Dev céljait.)

Az űrlapobjektumot a rendszer átadja az önálló érvényesítési kódnak az ellenőrzéshez. Ezután ellenőrzi a mögöttes RecordsetClone Fields gyűjteményt, hogy megtudja, mely vezérlők vannak a kötelező mezőkhöz kötve, és ellenőrzi, hogy rendelkeznek-e értékkel. Ha nem, akkor ki vannak emelve.

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×