Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Valige alltoodud teema, et saada teavet Northwind Developer Editioni tellimuste haldamise kohta. 

See Näidisrakenduse Northwind Orders arendajaväljaanne on starteri väljaandest täpsem. See laiendab andmebaasiskeemi (kasutatavad tabelid) ja pakub nüüd täiendavaid täiustatud funktsioone. Siinne eesmärk on tutvustada teile Microsoft Accessi funktsioone, mitte käivitada ühtegi konkreetset ettevõtet.

  • Tellimuste loend on saadaval lindi kaudu. Sellel on mitu filtrisuvandeid ja hüperlingid iga järjestuse avamiseks.

  • Uue tühja tellimuse avamiseks on nii tellimuseloendis kui ka lindil nupp Lisa tellimus.

  • Valige vormil Uus tellimus ripploendist olemasolev klient. Seejärel on valitud teie töötaja nimi ja uus olek. Tellimuse kuupäev on juba täidetud. Maksumäär loetakse tabelist SystemSettings (Süsteemisätted ) ja maksuoleku vaikeväärtused kliendikirjest.

  • Uued tellimused ja ostutellimused lisatakse lindi loendisse MRU (Viimati kasutatud). Lisateavet leiate selle artiklijaotisest MRU loend

  • Jätke praegu väljade Tarnekuupäev ja Maksekuupäev väli tühjaks.

  • Uute klientide tellimuste lisamiseks sisestage ettevõtte nimi ja liikuge tabeldusklahvi (Tab) vajutades väljale. Avatakse vorm Ettevõtte üksikasjad, et viia lõpule uus kliendikirje. Seejärel sulgege see ja jätkake tellimusega. Uus ettevõte on nüüd rippmenüüs Klient .

  • Tellimusele üksuste lisamiseks valige selle tellimuse jaoks tootekategooria ja toode ning sisestage kogus. Ühiku hind täidetakse ja hind arvutatakse avaldise abil.

  • Üleviimistellimuse olek ja teisaldage tellimus töövoo kaudu jaotisest Uus > Arveldatud > Lähetatud > Suletud , kasutades vormi Tellimus ülaosas olevaid nuppe.

  • Arveldamine võib juhtuda ainult siis, kui toode on selle tellimuse jaoks eraldatud. Kui reaüksus on olekus Laoseisuta või Tellimusel, ilmneb valideerimistõrge. Kasutaja saab selle toote jaoks luua ostutellimuse ja selle vastu võtta ning tellimuseüksuse olek korrigeeritakse järgmiselt: Eraldatud.

  • Tellimuse saatmiseks tuleb sisestada tarne- ja saatmistasu. Kui unustate seda teha, ilmneb valideerimistõrge. Saatmistasu lisatakse väljale Tellimuse kogusumma.

  • Lähetamata tellimusi saab kustutada nupuga Kustuta tellimus.

  • Tellimuse rea üksusi ei saa pärast tellimuse oleku Uus ületamist muuta.

  • Northwind Starteri versioonis on tellimusprotsess uskumatult lihtne (nt varud on alati saadaval, kunagi ei saa otsa ja neid ei pea kunagi ostma). Selles arendusväljaandes lahendab realistlikum protsess vähemalt mõned sellised probleemid. Pidage meeles, et tutvustame Accessi funktsioone ja parimaid tavasid, mitte reaalset rakendust. 

  • Tõendid selle kohta, et me ei rakenda siin tegelikku rakendust, hõlmavad ka seda, et kuupäevi ei kinnitata. Seega on võimalik sisestada ebaloogilisi kuupäevi, näiteks tarnekuupäeva, mis on enne tellimiskuupäeva. 

Selles jaotises käsitletakse tellimuse vormi frmOrderDetails tähelepanuväärseid juurutamise üksikasju.

Tellimusevorm saab oma andmed lihtsast päringu qryOrderist (vt atribuuti RecordSource ). Andmesisestusvormi aluseks lihtne ühetabeliline päring on hea tava. Pange tähele, et tabelit OrderDetails pole vaja sellesse päringusse kaasata. Alamvorm töötleb tellimuse üksikasju.

Vorm Tellimuseloend saab avada vormi Tellimus mitu eksemplari. See on kasulik, kuna müügiesindajad tegelevad paljude katkestustega ja võivad esimesega töötamisel vajada uue tellimuse avamist või võrrelda seda kolmanda tellimusega. Tehnika on siin dokumenteeritud.

Erinevad ID-väljad saavad oma väärtused kahe veeruga liitboksidest: peidetud ID-veerust ja nähtavast veerust Kirjeldus. Need liitboksid on seotud lihtsate kaheveeruliste päringutega: vt atribuuti RowSource .

Töövoonuppudel on äriloogika, mis sunnib kasutajat järjestust 1-lt 4-le edasi viima. Northwind Developmenti meeskond on teadlik, et mõned ettevõtted võivad kasutada erinevaid reegleid. Selle tulemuseks oleks nupu klõpsamissündmuste erinev rakendamine, aga ka see, millal tellimus on kindel ja millal saab tellimust endiselt kustutada.

Alamvormi sfrmOrderDetails on seotud keerukama päringuga. Põhjused, miks neid käsitletakse allpool jaotises Kaskaad liitboksid. Otsime varusid Form_AfterUpdate sündmusest, kui rida on salvestatud ja saame käitada võimsamaid andmebaasipäringuid.

ProductCategory ja Product on kaskaaddiagrammid: esimesest (ProductCategory) valimisel kitsendatakse järgmist tütartoodete kirjetega. Siin kasutatud tehnikat kirjeldatakse allpool üksikasjalikult.

Kirje salvestamisel peavad nõutavad väljad olema täidetud. Starteri väljaandes laseme toimuda Accessi vaikekäitumise; selles arendusväljaandes rakendatakse kasutajasõbralikum tehnika. Siin kasutatud tehnikat kirjeldatakse allpool üksikasjalikult.

Iga tellimuserea kauba puhul kontrollitakse saadaolevaid varusid ja vastavalt seatakse olek. Siin on kirjeldatud selle funktsiooni põhiideed.
 

KASKAADDIAGRAMMID

Ripploendite Tootekategooria ja Toote rakendamine kaskaad liitboksidena on keeruline, kuna Access ei toeta seda funktsiooni boksist välja. Selle meetodi puhul on vaja nelja etappi:

Vorm peab olema pidevvormide režiimis (mitte andmelehel). Tekstiväljad kattuvad iga liitboksi tekstiosaga, jättes nähtavaks ainult nende rippnooled. 

Vormi kirjeallika päring qryOrderLineItems kasutab tabelit OrderDetails tavalisel viisil, kuid ühendab ka tabelitega Products ja ProductCategories, et tuua välja ProductName ja ProductCategoryName. Need kaks kattuvaid tekstivälju on nende väljadega seotud.

Liitboksi Tooted reaallikas otsib tagasi cboProductCategories , et tagastada ainult selles liitboksis valitud kategooria tooted. Pange tähele süntaksit "[Vorm]! [cboProductCategories]" kriteeriumiavaldises, mis on paindlikum kui selgesõnalised vormid! FormName! ControlName süntaks, mis viitab ühele vormile nime järgi.

Pärast sidumata tootekategooriate liitboksis tootekategooria valimist määrab sündmus AfterUpdate liitboksi Tooted loendi esimeseks väärtuseks. Sellega luuakse vormi RecordSource'is uus rida, mis asustab kategoorianime , et seda saaks kuvada kattuva tekstiväljaga.
 

VALIDEERIMINE

Väljaandes Northwind Dev rakendatud valideerimiskoodi kasutamisel on koodil ainult 3 rida.

  • Form_BeforeUpdate:
       Cancel = ValidteForm(Me)

  • In Form_AfterUpdate and Form_Current:
        ValidateForm_RemoveHighlights Me

Koodi väga omastatav muutmine on hea muster, mida järgida, sest see lihtsustab kõikjal rakendamist. Professionaalsed arendajad võivad seda näiteks vormi alamklassiseerimise abil veelgi kaugemale viia. (See on midagi enamat kui Northwind Devi eesmärgid.)

Vormiobjekt edastatakse valideerimiseks iseseisvale valideerimiskoodile. Seejärel kontrollib see aluseks olevat kogumit RecordsetClone Fields, et saada teada, millised juhtelemendid on seotud nõutavate väljadega, ja kontrollib, kas neil on väärtus. Kui seda ei kuvata, tõstetakse need esile.

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×