Valitse mikä tahansa alla oleva aihe saadaksesi lisätietoja työntekijöistä Northwind Developer Editionissa.
Yleiskatsaus
Työntekijöillä on yksi jaettu lomake, joka toimii luettelo- ja tietolomakkeena.
Työntekijöiden käyttäminen
Työntekijät-välilehden avulla voit lisätä uusia työntekijöitä ja päivittää nykyisten työntekijöiden tietoja.
Valitse valintanauhan Työntekijät-välilehti , jos haluat näyttää työntekijäluettelolomakkeen työntekijät. frmEmployeeList on jaettu lomake, jossa on seuraavat ominaisuudet:
- Lomakkeen yläosassa on yksittäinen näkymä yhdestä työntekijästä.
- Lomakkeen alaosassa on taulukkonäkymä kaikista työntekijöistä.
- Työntekijän valitseminen jommassakummassa osassa kohdistaa kyseisen työntekijän myös jaetun lomakkeen toiseen osaan.
- Voit lisätä, muokata tai poistaa työntekijöitä jaetun lomakkeen kummassakin osassa.
- Jaetun lomakkeen käyttämisessä taulukkonäkymäosan kanssa oletetaan, että lomakkeen tietuelähteessä on useita tietueita.
Jaetun lomakkeen mahdollinen vaikutus suorituskykyyn
Useimmat kehittäjät eivät halua ladata suodattamatonta taulukkoa tai kyselyä lomakkeen tietuelähteeksi. Lomakkeen suodattaminen yhteen tietueeseen vähentää taulukosta lomakkeeseen siirrettävän tiedon määrää. Paikallisessa Access-taulukossa ero suodatetun tietuelähteen lataamisen ja pienen suodattamattoman tietuelähteen lataamisen välillä voi olla tuskin havaittavissa. Tämä suorituskyky kuitenkin heikkenee, jos Access-taulukot korvataan palvelinpohjaisella etätietokannalla, kuten SQL Server.
Northwindin työntekijätaulukon ei pitäisi kasvaa kovin suureksi, joten se soveltuu suodattamattomaksi tietuelähteeksi. Muihin taulukoihin sidotut lomakkeet, kuten tilaustiedot, jotka voivat kasvaa tuhansiin tietueisiin, eivät kuitenkaan ole ehdokkaita suodattamattomalle tietuelähteelle.
TYÖNTEKIJÖIDEN MUOKKAAMINEN
Kun käyttäjät lisäävät tai muokkaavat jaetun lomakkeen tietueita, he voivat syöttää arvot joko lomakenäkymässä tai taulukkonäkymässä. Jotkin kentät ovat pakollisia ja toiset valinnaisia. Lomake tarkistaa, onko pakollisissa kentissä arvoja. Katso alla oleva Pakollisen kentän kelpoisuuden tarkistus .
Hakutaulukot, arvoluettelot ja avattavat ohjausobjektit
Avattava Otsikot-valikko rajoittaa merkinnät ennalta valittujen nimikkeiden luetteloon. Otsikot ovat hakutaulukossa nimeltä Otsikot.
Osa odotetuista vaihtoehdoista on jo tallennettu hakutaulukkoon, mutta käyttäjät voivat lisätä hakutaulukkoon uusia otsikoita käyttämällä yhdistelmäruudun oletusarvoista Access-toimintaa tai avattavia ohjausobjekteja.
- Otsikko-yhdistelmäruudun Rajoita luetteloon -ominaisuuden arvoksi on määritetty Kyllä ja otsikoiden muokkausmuoto on määritetty Luettelokohteet-ominaisuuden Muokkaa lomaketta -ominaisuudessa. Kun valitset lomakkeen avattavan valikon, muokkauskuvake näkyy alareunassa.
- Otsikko-yhdistelmäruudun Rajoita luetteloon -ominaisuuden arvoksi on määritetty Kyllä ja otsikoiden muokkausmuoto on määritetty Luettelokohteet-ominaisuuden Muokkaa lomaketta -ominaisuudessa. Kun valitset lomakkeen avattavan valikon, muokkauskuvake näkyy alareunassa.
Napsauttamalla muokkauskuvaketta avaat Nimikkeet-muokkauslomakkeen , frmEmployeeTitles, jossa voit muuttaa hyväksyttyjen tehtävänimikkeiden luetteloa tai lisätä siihen.
HUOMAUTUS: Useimmissa tuotantoympäristöissä otsikoiden muokkaaminen tai lisääminen rajoittui käyttäjiin, joilla on laajennetut käyttöoikeudet.
Itseensä viittaavat hakukentät
Työntekijä-funktio kuvaa Self-Referential tunnuskentän käsitettä. Työntekijän esimiehen määrittämisen tueksi taulukossa on SupervisorID-kenttä , jossa on muiden työntekijöiden EmployeeID-tiedot . Jos haluat määrittää esimiehen, tähän kenttään kirjoitetaan toisen työntekijän Työntekijän tunnus. Access noudattaa viite-eheyttä tälle yhteydelle.
SupervisorID otetaan käyttöön työntekijälomakkeessa avattavana luettelona tai yhdistelmäruutuna. sen rivilähde on suodatettu joukko tietueita Työntekijät-taulukosta. Koska kysely viittaa itseensä, sen oman työntekijätunnuksen ei saa esiintyä. Esimerkiksi työntekijä Karen FinsterinSupervisorID-kentän rivilähde ei sisällä Karenin omaa EmployeeID-tunnusta. Hän ei voi olla oma esimiehensä.
Liitekentät ja -ohjausobjektit
Työntekijöiden kuvat tallennetaan taulukon liitekenttään. Voit lisätä uusia kuvia tai muuttaa aiemmin luotuja kuvia käyttämällä liitekenttien oletusarvoista Access-toimintaa.
HUOMAUTUS:Lisäsimme Työntekijät-taulukkoon liitekentän, joka havainnollistaa ominaisuutta Accessissa. Upotetut kuvat kasvattavat accdbs-tiedostojen kokoa, joten niitä ei pidetä parhaana käytäntönä. Arvioi ympäristösi huolellisesti ennen sen käyttöönottoa tuotantosovelluksessa. Suositeltava vaihtoehto on verkkokansio, johon tallennetaan kaikki kuvat, ja linkki taulukon tekstikentässä , joka sisältää kuvan polun, liitekentän sijaan.
Alilomake ja aiheeseen liittyviä tietoja
Tilaukset-alilomakkeessa (työntekijälomakkeen oikealla puolella) näkyvät työntekijän käsittelemät viimeisimmät tilaukset. Alilomakkeessa luetellaan tietotaulukkonäkymässä olevat tilaukset uusimmasta vanhimpaan. Jos haluat muokata kyseisen työntekijän olemassa olevaa tilausta, napsauta hyperlinkitettyä tilaustunnusta # Tilaukset-alilomakkeessa.
Työntekijälomakkeen tietuelähde
Kysely nimeltä qryTyöntekijät palauttaa lomakkeen tietueet. Paras käytäntö on käyttää kyselyä taulukon sijaan. Kysely palauttaa tietueita vain yhdestä taulukosta. Lisäksi kyselyn parametrisointi rajoittaa palautettavien tietueiden määrää.
- Tämän kyselyn Select-lause palauttaa kaikki Työntekijät-taulukon kentät käyttämällä yleismerkkiä *.
- Kyselyn kaksi laskettua kenttää antavat tulokseksi Etunimi, Sukunimi ja Sukunimi, Etunimi.
Ohjausobjektien lasketut arvot
HUOMAUTUS: Laskettuja kenttiä ei tallenneta taulukkoon. Ne ovat kuitenkin käytettävissä lomakkeen tietuelähteessä.
Useimmat työntekijälomakkeen ohjausobjektit ovat käytössä , joten voit valita ne hiirellä tai sarkaimella. Niitä ei ole lukittu , joten niitä voi muokata.
Työntekijöiden ohjelmointi
Accessin sisäisen toiminnan lisäksi lomakkeiden, lomakkeiden ohjausobjektien ja erillisten moduuleiden VBA-alitoiminnot ja -toiminnot noudattavat työntekijöiden edellyttämää peruslogiikkaa. Seuraavassa osassa kuvataan funktiot ja koodi, jolla ne toteutetaan.
Sisäinen ohjaustoiminto
Lomakkeen tietuevalitsimen oletustoiminta:
- Jos napsautat tietuevalitsinta lomakkeen vasemmalla puolella yksittäisessä näkymässä, nykyinen tietue ja mahdolliset muokkaukset tallentuvat. Tallentaminen napsauttamalla tietuevalitsinta hiiren kakkospainikkeella käynnistää asianmukaiset VBA-alitoiminnot ja -toiminnot.
- Kun napsautat tietuevalitsinta hiiren kakkospainikkeella lomakkeen vasemmalla puolella yksittäisessä näkymässä, näkyviin tulee valikko, jossa voit suorittaa toimintoja, kuten leikkaa, kopioi tai liitä tietue. Tietueen poistaminen tai leikkaaminen käynnistää alla kuvatun EmployeeCanBeDeleted-funktion .
- Tietuevalitsimet on otettava käyttöön, jotta lomake voi käyttää näitä oletustoimintoja.
Lomakkeen tietueiden viite-eheys
Viite-eheys estää sellaisten työntekijöiden poistamisen, joilla on alitietueita liittyvissä taulukoissa. Tämän vuoksi Access antaa virheilmoituksen, jos käyttäjä yrittää poistaa tietueen, jossa on alitietueita. Northwindin työntekijälomake Access korvaa viite-eheyttä koskevat yleiset oletusvirhesanomat mukautetuilla viesteillä.
Lomakkeen Poista-toimintosarjan koodi vastaa yrityksiin joko leikata tietue hiiren kakkospainikkeella avattavasta valikosta tai poistaa tietue Delete-näppäimellä.
Yksityinen funktio EmployeeCanBeDeleted tarkistaa kyseiseen työntekijään liittyvät tietueet Tilaukset-, Ostotilaukset-, Työntekijät- ja Työntekijöiden oikeudet-taulukoista .
Jos ne löytyvät, tämä funktio estää oletusvirhesanoman ja ilmoittaa käyttäjälle tietueen poistamisen syyn. Käytä samaa yleistä valintaikkunaa, jossa Asiakas-lomake ilmoittaa käyttäjälle syyn, miksi asiakasta ei voi poistaa.
Vahvistus
Työntekijät toteuttavat validointia ja vakiovirheiden käsittelyä. Ohjausobjekteja on kahdenlaisia.
- Pakolliset kentät
- Standard-muodot
Pakollisen kentän kelpoisuuden tarkistus
Kaikilla työntekijöillä on oltava kolme pakollista kenttää:
- Etunimi
- Sukunimi
- tehtävänimike
Tässä kehittäjäversiossa lomakkeen Before Update -tapahtuma vahvistaa pakolliset kentät. Jos käyttäjä yrittää tallentaa työntekijätietueen ilman arvoja vähintään yhdessä pakollisessa kentässä, jolla ei ole arvoa, kelpoisuustarkistus peruuttaa tallennuksen ja korostaa kaikki pakolliset kentät, joilla ei ole arvoa. Northwindin työntekijälomakkeessa pakollisen kentän kelpoisuuden tarkistamisen käsittelee lomakkeen Ennen päivitystä -tapahtuma, eivät yksittäiset ohjausobjektit.
Työntekijä-lomakkeen Ennen päivitystä -tapahtuma tarkistaa arvojen olemassaolon kolmessa pakollisessa kentässä. Uuden tai muokatun työntekijätietueen tallentaminen käynnistää lomakkeen Before Update -tapahtuman, joka kutsuu julkisia funktioita, jotka tarkistavat pakollisten arvojen olemassaolon tai puuttumisen ja vastaavat niihin.
ModValidation-moduuli sisältää seuraavat funktiot:
- ValidateForm
- IsValidForm
- HighlightInvalidControls
- HighlightControl
- ValidateForm_RemoveHighlights
Uusien työntekijöiden hallinta
Kun napsautat Lisää työntekijä -painiketta, Private Sub btnNewEmployee_Click suoritetaan seuraavia toimintoja varten:
- Tallenna nykyinen tietue ja
- Lomakkeen kohdistuksen asettaminen uuteen tietueeseen
'
Valintakyselyn yleismerkki ja nimetyt kentät
qryEmployeesinSELECT-lause käyttää yleismerkkiä "*" taulukon KAIKKIEN kenttien valitsemiseen. Yleismerkkikysely sisällyttää automaattisesti kaikki taustalla olevasta taulukosta juuri lisätyt kentät, mikä ei ole mahdollista tiettyjen kenttien luetteloa käytettäessä. Toisaalta tiettyjen kenttien luettelointi voisi rajoittaa palautetun tietuejoukon vain niihin kenttiin, joita tarvitaan esimerkiksi vain näyttölomakkeessa.
Sopivat rakennevalinnat
Suunnittelun tulee perustua tarpeisiisi sopivaan lähestymistapaan. Vaikka mahdollisuuksien mukaan etusija menisi yleensä lähestymistapaan, joka vähiten todennäköisesti vaatii tulevaa ylläpitoa (eli yleismerkkimenetelmä).
Hakutaulukoihin sidotut yhdistelmäruudut – kaksi tapaa
Liittyvät kohteet, kuten työntekijän esimies, näkyvät lomakkeiden avattavissa luetteloissa tai yhdistelmäruuduissa. Lomakkeen tietuelähdekyselyssä tarvitaan vain SupervisorID-kentän viiteavain, koska kyseinen kenttä on sidottu viiteavainkenttään (SupervisorID). Yhdistelmäruutu näyttää myös vastaavan tekstiarvon.
Kaksisarakkeinen yhdistelmäruutu, jossa on piilotettu tunnussarake ja näkyvissä Kuvaus-sarake, tekevät tästä käytännön. Työntekijälomakkeessa Valvoja-yhdistelmäruutu on sidottu yksinkertaiseksi kaksisarakkeiseksi kyselyksi. Katso valvojan RowSource-ominaisuus .
Joissakin tapauksissa hakutaulukolla ei kuitenkaan ole erillistä perusavainta, ja siksi itse tekstiarvo on perusavain.
Kun mahdollisten arvojen luettelo on pieni ja erittäin vakaa, kuten työntekijän titteli, sitä kutsutaan usein suljetuksi toimialueeksi. Otsikon arvojen muuttaminen tai lisääminen ei ole yleistä. Suljetun toimialueen hakutaulukot soveltuvat yhden sarakkeen kyselyyn.
Työntekijälomakkeessa Tehtävänimike-yhdistelmäruutu on sidottu yksisarakkeiseen otsikkokyselyyn. Katso otsikoiden Rivilähde-ominaisuus .
Lisätietoja
- Lisätietoja jaetuista lomakkeista
- Lisätietoja viite-eheydestä
- Northwind 2.0 Developer Edition: Kaikki aiheet
- Northwind 2.0 Developer Edition: Asiat, jotka sinun tulee tietää