Tietokantaobjektien tapahtumien järjestys

Tärkeää: Tämä on artikkeli on käännetty koneellisesti. Lue vastuuvapauslauseke. Tämän artikkelin englanninkielinen versio on täällä .

Yksi toiminto, esimerkiksi siirtyminen objektin yhdestä ohjainsta toiseen ohjausobjektiin voi käynnistää useita eri tapahtumia, jotka tapahtuvat tietyssä järjestyksessä. On tärkeää tietää, milloin tapahtumat tapahtuvat ja missä järjestyksessä ne tapahtuvat, koska tämä voi vaikuttaa siihen, miten ja milloin makrot tai tapahtumatoimintosarjat suoritetaan. Jos esimerkiksi on kaksi tapahtumatoimintosarjaa, jotka halutaan suorittaa tietyssä järjestyksessä, tulee varmistaa, että niihin liittyvät tapahtumat tapahtuvat samassa järjestyksessä.

Artikkelin sisältö

Lomakkeissa olevien ohjausobjektien tapahtumien järjestys

Lomakkeissa olevien tietueiden tapahtumien järjestys

Lomakkeiden ja alilomakkeiden tapahtumien järjestys

Näppäinpainallusten ja hiiren napsautusten tapahtumien järjestys

Raporttien ja raporttiosien tapahtumien järjestys

Lomakkeissa olevien ohjausobjektien tapahtumien järjestys

Asioita tapahtuu lomakkeiden ohjausobjekteissa, kun aktiivisuus siirretään ohjausobjektiin ja kun muutat ja päivität ohjausobjektin tietoja.

Huomautus: Microsoft Office Access näyttää tapahtuman nimet hieman eri tavalla Visual Basic -editorissa kuin ominaisuusikkunassa ja Makron muodostimessa. Esimerkiksi tapahtuma nimeltä On Got Focus lomakkeen ominaisuusikkunassa ja Makron muodostimessa on Visual Basic -editorissa nimeltään GotFocus. Tämän artikkelin esimerkeissä käytetään Visual Basic for Applications (VBA) -muotoa tapahtuman nimien osalta.

Kohdistuksen siirtäminen ohjausobjektiin

Kun siirrät kohdistuksen lomakkeen ohjausobjektiin (esimerkiksi avaamalla lomakkeen, joka sisältää yhden tai usean aktiivisen ohjausobjektin tai siirtämällä kohdistuksen toiseen saman lomakkeen ohjausobjektiin), Enter- ja GotFocus-tapahtumat tapahtuvat seuraavassa järjestyksessä:

Enter nuoli GotFocus

Kun avaat lomakkeen, Enter- ja GotFocus-tapahtumat suoritetaan lomakkeen avaukseen liittyvien tapahtumien jälkeen (kuten Open, Activate ja Current) seuraavasti:

Open (lomake) nuoli Activate (lomake) nuoli Current (lomake) nuoli Enter (ohjausobjekti) nuoli GotFocus (ohjausobjekti)

Kun kohdistus poistuu lomakkeen ohjausobjektista (kun esimerkiksi suljet lomakkeen, joka sisältää yhden tai usean aktiivisen ohjausobjektin tai siirryt toiseen saman lomakkeen ohjausobjektiin), Exit- ja LostFocus-tapahtumat tapahtuvat seuraavassa järjestyksessä:

Exit nuoli LostFocus

Kun suljet lomakkeen, Exit- ja LostFocus-tapahtumat suoritetaan ennen lomakkeen sulkemiseen liittyviä tapahtumia (kuten Unload, Deactivate ja Close) seuraavasti:

Exit (ohjausobjekti) nuoli LostFocus (ohjausobjekti) nuoli Unload (lomake) nuoli Deactivate (lomake) nuoli Close (lomake)

Tietojen muuttaminen ja päivittäminen ohjausobjektissa

Kun siirryt tai muutat tietoja lomakkeen ohjausobjektissa ja siirrät sitten kohdistuksen toiseen ohjausobjektiin, tapahtumat BeforeUpdate ja AfterUpdate tapahtuvat:

BeforeUpdate nuoli AfterUpdate

Exit- ja LostFocus-tapahtumat ohjausobjektille, jonka arvo muuttuu BeforeUpdate- ja AfterUpdate -tapahtumien jälkeen:

BeforeUpdate nuoli AfterUpdate nuoli Exit nuoli LostFocus

Kun muutat tekstiä tekstiruudussa tai yhdistelmäruudun tekstiruutuosassa, Change-tapahtuma tapahtuu. Tämä tapahtuma toteutuu aina, kun ohjausobjektin sisältö muuttuu,mutta ennen kuin siirrät kohdistuksen toiseen ohjausobjektiin tai tietueeseen (ja näin ollen ennen kuin tapahtumat BeforeUpdate ja AfterUpdate tapahtuvat). Seuraava tapahtumasarja tapahtuu jokaisen näppäimen kohdalla, jota painat tekstiruudussa tai yhdistelmäruudun tekstiruutuosassa:

KeyDown nuoli KeyPress nuoli Dirty nuoli Change nuoli KeyUp

Luettelosta puuttuessa-tapahtuma tapahtuu, kun syötät arvon yhdistelmäruutuun, jota ei ole yhdistelmäruudun luettelossa ja yrität sitten siirtää kohdistuksen toiseen ohjausobjektiin tai tietueeseen. NotInList -tapahtuma tapahtuu näppäimistötapahtumien jälkeen ja Change-tapahtumien jälkeen yhdistelmäruudulle, mutta ennen muiden ohjausobjektien tai lomakkeen tapahtumia. Jos yhdistelmäruudun LimitToList-ominaisuus asetetaan tilaan Ye, lomakkeen Error-tapahtuma tapahtuu heti NotInList -tapahtuman jälkeen:

KeyDown nuoli KeyPress nuoli Dirty nuoli Change nuoli KeyUp nuoli NotInList nuoli Error

Sivun alkuun

Lomakkeissa olevien tietueiden tapahtumien järjestys

Lomakkeissa olevien tietueiden tapahtumat toteutuvat, kun aktiivisuus siirretään toiseen tietueeseen, tietueen tiedot päivitetään, olemassa olevan tietue tai tietueet poistetaan tai uusi tietue luodaan.

Kohdistuksen siirtäminen tietueisiin ja tietueiden tietojen päivittäminen

Kun siirrät kohdistuksen olemassa olevaan tietueeseen lomakkeessa, lisäät tai muutat tietueen tietoja ja siirrät sitten kohdistuksen toiseen tietueeseen, seuraava tapahtumasarja tapahtuu lomakkeessa:

Current (lomake) nuoli BeforeUpdate (lomake) nuoli AfterUpdate (lomake) nuoli Current (lomake)

Kun poistut tietueesta, jonka tietoja on muutettu, mutta ennen kuin siirryt seuraavaan tietueeseen, Exit- ja LostFocus- tapahtumat tapahtuvat ohjausobjektille, jossa kohdistus on. Nämä tapahtumat tapahtuvat BeforeUpdate- ja AfterUpdate-tapahtumia lomakkeessa seuraavasti:

BeforeUpdate (lomake) nuoli AfterUpdate (lomake) nuoli Exit (ohjausobjekti) nuoli LostFocus (ohjausobjekti) nuoli RecordExit (lomake) nuoli Current (lomake)

Kun siirrät kohdistuksen lomakkeen eri ohjausobjekteihin, kunkin ohjausobjektin kohdalla tapahtuu tapahtumia. Esimerkiksi seuraava tapahtumasarja tapahtuu, kun teet jonkin seuraavista:

  • Avaat lomakkeen ja muutat ohjausobjektin tietoja:

    Current (lomake) nuoli Enter (ohjausobjekti) nuoli GotFocus (ohjausobjekti) nuoli BeforeUpdate (ohjausobjekti) nuoli AfterUpdate (ohjausobjekti)

  • Siirrät kohdistuksen toiseen ohjausobjektiin:

    Exit (control1) nuoli LostFocus (control1) nuoli Enter (control2) nuoli GotFocus (control2)

  • Siirrät kohdistuksen toiseen tietueeseen:

    BeforeUpdate (lomake) nuoli AfterUpdate (lomake) nuoli Exit (ohjausobjekti2) nuoli LostFocus (ohjausobjekti2) nuoli RecordExit (lomake) nuoli Current (lomake)

Tietueiden poistaminen

Kun poistat tietueen, seuraavat asiat tapahtuvat lomakkeessa ja Microsoft Office Accessissa näkyy valintaikkuna, jossa pyydetään vahvistamaan poisto:

Delete nuoli BeforeDelConfirm nuoli AfterDelConfirm

Jos peruutat Delete-tapahtuman, BeforeDelConfirm- ja AfterDelConfirm-tapahtumat eivät tapahdu eikä valintaikkunaa näytetä.

Uuden tietueen luominen

Kun siirrät kohdistuksen uuteen (tyhjään) tietueeseen lomakkeessa ja luot sitten uuden tietueen kirjoittamalla tietoja ohjausobjektiin, seuraava tapahtumasarja tapahtuu:

Current (lomake) nuoli Enter (ohjausobjekti) nuoli GotFocus (ohjausobjekti) nuoli BeforeInsert (lomake) nuoli AfterInsert (lomake)

BeforeUpdate- ja AfterUpdate-tapahtumat lomakkeen ohjausobjekteissa ja uudelle tietueelle tapahtuvat BeforeInsert- tapahtuman jälkeen ja ennen AfterInsert-tapahtumaa.

Sivun alkuun

Lomakkeiden ja alilomakkeiden tapahtumien järjestys

Tapahtumia tapahtuu lomakkeille, kun avaat tai suljet lomakkeen, siirryt lomakkeiden välillä tai työskentelet lomakkeella tai alilomakkeella olevien tietojen parissa.

Lomakkeen avaaminen ja sulkeminen

Kun avaat lomakkeen, lomakkeessa tapahtuu seuraava tapahtumasarja:

Open nuoli Load nuoli Resize nuoli Activate nuoli Current

Jos lomakkeessa ei ole aktiivisia ohjausobjekteja, GotFocus-tapahtuma tapahtuu lomakkeessa Activate-tapahtuman jälkeen, mutta ennen Current-tapahtumaa.

Kun suljet lomakkeen, lomakkeessa tapahtuu seuraava tapahtumasarja:

Unload nuoli Deactivate nuoli Close

Jos lomakkeessa ei ole aktiivisia ohjausobjekteja, LostFocus-tapahtuma tapahtuu lomakkeessa Unload-tapahtuman jälkeen, mutta ennen Deactivate-tapahtumaa.

Siirtyminen lomakkeiden välillä

Kun vaihdat kahden avoimen lomakkeen välillä, Deactivate-tapahtuma tapahtuu ensimmäisessä lomakkeessa, ja Activate-tapahtuma tapahtuu toisessa lomakkeessa:

Deactivate (lomake1) nuoli Activate (lomake2)

Deactivate-tapahtuma tapahtuu lomakkeessa myös, kun vaihdat lomakkeesta toiseen ohjausobjektivälilehteen Accessissa. Deactivate-tapahtumaa ei kuitenkaan tapahdu, kun vaihdat valintaikkunaan, lomakkeeseen, jonka PopUp-ominaisuus on asetettu tilaan Yes, tai johonkin ikkunaan toisessa ohjelmassa.

Huomautus: Open-tapahtumaa ei tapahdu, jos siirrät kohdistuksen lomakkeeseen, joka on jo auki, vaikka olisitkin siirtänyt kohdistuksen kyseiseen lomakkeeseen tekemällä OpenForm-toiminnon.

Lomakkeen tietojen käsitteleminen

Lomake- ja ohjausobjektitapahtumia tapahtuu, kun siirryt tietueiden välillä lomakkeessa ja muutat tietoja. Kun esimerkiksi avaat lomakkeen ensi kertaa, tapahtuu seuraava tapahtumasarja:

Open (lomake) nuoli Load (lomake) nuoli Resize (lomake) nuoli Activate (lomake) nuoli Current (lomake) nuoli Enter (ohjausobjekti) nuoli GotFocus (ohjausobjekti)

Vastaavasti kun suljet lomakkeen, tapahtuu seuraava tapahtumasarja:

Lopeta (ohjausobjekti) nuoli LostFocus (ohjausobjekti) nuoli Unload (lomake) nuoli Deactivate (lomake) nuoli Close (lomake)

Jos olet muuttanut ohjausobjektin tietoja, BeforeUpdate- ja AfterUpdate-tapahtumat sekä lomakkeessa että ohjausobjektissa tapahtuvat ennen ohjausobjektin Exit-tapahtumaa.

Alilomakkeiden käyttäminen

Kun avaat alilomakkeen sisältävän lomakkeen, alilomake ja sen tietueet ladataan ennen päälomaketta. Näin ollen alilomakkeen ja sen ohjausobjektien tapahtumat (kuten Open, Current, Enter ja GotFocus) tapahtuvat ennen lomakkeen tapahtumia. Kuitenkin Activate-tapahtumaa ei tapahdu alilomakkeissa. Näin ollen päälomakkeen avaaminen käynnistää Activate-tapahtuman vain päälomakkeessa.

Samoin kun suljet alilomakkeen sisältävän lomakkeen, alilomake ja sen tietueet poistetaan muistista lomakkeen jälkeen. Deactivate -tapahtumaa ei tapahdu alilomakkeissa. Näin ollen päälomakkeen sulkeminen käynnistää Deactivate -tapahtuman vain päälomakkeessa. Ohjausobjektien, lomakkeen ja alilomakkeen tapahtumat tapahtuvat seuraavassa järjestyksessä:

  1. Alilomakkeen ohjausobjektien tapahtumat (kuten Exit ja LostFocus)

  2. Lomakkeen ohjausobjektien (mukaan lukien alilomakkeen ohjausobjekti) tapahtumat

  3. Lomakkeen tapahtumat (kuten Deactivate ja Close)

  4. Alilomakkeen tapahtumat

Huomautus:  Alilomakkeen tapahtumat tapahtuvat päälomakkeen sulkemisen jälkeen, joten tietyt tapahtumat eivät toteudu, kuten päälomakkeen sulkemisen peruuttaminen alilomakkeen tapahtuman kautta. Tämäntyyppiset kelpoisuustarkistukset on ehkä siirrettävä päälomakkeen tapahtumaan.

Sivun alkuun

Näppäinpainallusten ja hiiren napsautusten tapahtumien järjestys

Näppäimistön tapahtumat tapahtuvat lomakkeissa ja ohjausobjekteissa, kun painat näppäimiä tai lähetät näppäinpainalluksia silloin, kun aktiivisuus on lomakkeessa tai ohjausobjektissa. Hiiren tapahtumat tapahtuvat lomakkeissa, lomakkeen osissa ja lomakkeiden ohjausobjekteissa, kun napsautat hiiren painikkeita, kun hiiriosoitin on lomakkeessa, osassa tai ohjausobjektissa. Hiiren tapahtumat tapahtuvat myös silloin, kun siirrät hiiriosoittimen lomakkeen, osan tai ohjausobjektin ylle.

Näppäimistötapahtumat

Kun painat ja vapautat näppäintä, kun kohdistus on lomakkeen ohjausobjektissa (tai käytät SendKeys-toimintoa tai lauseke näppäinpainalluksen lähettämiseksi), tapahtuu seuraava tapahtumasarja:

KeyDown nuoli KeyPress nuoli KeyUp

Kun painat ja vapautat näppäimen tai lähetät näppäinpainalluksen ANSI-merkistössä, KeyDown-, KeyPress- ja KeyUp-tapahtumat toteutuvat. Jos painat ja pidät ANSI-näppäintä painettuna, KeyDown- ja KeyPress-tapahtumat vaihtelevat vuorotellen toistuvasti (KeyDown, KeyPress, KeyDown, KeyPress ja niin edelleen), kunnes vapautat näppäimen. Sen jälkeen tapahtuu KeyUp-tapahtuma.

Jo painat ei-ANSI-näppäintä ja vapautat sen, KeyDown- ja KeyUp-tapahtumat toteutuvat. Jo painat ei-ANSI-näppäintä ja pidät sitä painettuna, KeyDown-tapahtuma toteutuu toistuvasti, kunnes vapautat näppäimen, jolloin KeyUp-tapahtuma toteutuu.

Jos näppäimen painaminen käynnistää toisen tapahtuman ohjausobjektille, kyseinen tapahtuma toteutuu KeyPress-tapahtuman jälkeen, mutta ennen KeyUp-tapahtumaa. Jos esimerkiksi näppäinpainallus muuttaa tekstiä tekstiruudussa, joka käynnistää Change-tapahtuman, tapahtuu seuraava tapahtumasarja:

KeyDown nuoli KeyPress nuoli Change nuoli KeyUp

Jos näppäinpainallus aiheuttaa kohdistuksen siirtymisen yhdestä ohjausobjektista toiseen ohjausobjektiin, KeyDown-tapahtuma tapahtuu ensimmäisessä ohjausobjektissa, kun taas KeyPress- ja KeyUp-tapahtumat tapahtuvat toisessa ohjausobjektissa. Jos esimerkiksi muutat tietoja ohjausobjektissa ja siirryt sitten SARKAIMELLA seuraavaan ohjausobjektiin, seuraavat tapahtumasarjat tapahtuvat:

  • Ensimmäinen ohjausobjekti:

    KeyDown nuoli BeforeUpdate nuoli AfterUpdate nuoli Exit nuoli LostFocus

  • Toinen ohjausobjekti:

    Enter nuoli GotFocus nuoli KeyPress nuoli KeyUp

Hiiren tapahtumat

Kun napsautat ja vapautat hiiren painikkeen hiiriosoittimen ollessa lomakkeen ohjausobjektissa, ohjausobjektissa tapahtuu seuraavassa tapahtumasarja:

MouseDown nuoli MouseUp nuoli Click

Jos kohdistus on ohjausobjektissa ja napsautat toista ohjausobjektia kohdistuksen siirtämiseksi tähän toiseen ohjausobjektiin, seuraavat tapahtumasarjat tapahtuvat:

  • Ensimmäinen ohjausobjekti:

    Exit nuoli LostFocus

  • Toinen ohjausobjekti:

    Enter nuoli GotFocus nuoli MouseDown nuoli MouseUp nuoli Click

Jos siirryt toiseen tietueeseen ja napsautat sitten ohjainta, lomakkeen Current-tapahtuma tapahtuu ennen ohjausobjektin Enter-tapahtumaa.

Ohjausobjektin kaksoisnapsauttaminen aiheuttaa sekä Click- että DblClick-tapahtumien tapahtumisen. Kun esimerkiksi kaksoisnapsautat ohjausobjektia, joka ei ole komentopainike, ohjausobjektille tapahtuu seuraava tapahtumasarja:

MouseD own nuoli MouseUp nuoli Click nuoli DblClick nuoli MouseUp

Kun kaksoisnapsautat komentopainiketta, edellinen tapahtumasarja tapahtuu, jonka jälkeen seuraa toinen Click-tapahtuma.

MouseMove-tapahtuma tapahtuu lomakkeessa, osassa tai ohjausobjektissa, kun siirrät hiiriosoittimen lomakkeen, osan tai ohjausobjektin päälle. Tämä tapahtuma on riippumaton muista hiiren tapahtumista.

Sivun alkuun

Raporttien ja raporttiosien tapahtumien järjestys

Raporttien ja raporttiosien tapahtumat tapahtuvat, kun avaat raportin sen tulostamiseksi tai esikatselemiseksi tai kun suljet raportin.

Raporttien tapahtumat

Kun avaat raportin sen tulostamiseksi tai esikatselemiseksi ja sitten myöhemmin suljet raportin tai siirryt toiseen ohjausobjektivälilehteen Accessissa, seuraava tapahtumasarja tapahtuu raportissa:

Open nuoli Activate nuoli Close nuoli Deactivate

Kun vaihdat kahden avoimen raportin välillä, Deactivate-tapahtuma tapahtuu ensimmäisessä raportissa, ja Activate-tapahtuma tapahtuu toisessa raportissa:

Deactivate (raportti1) nuoli Activate (raportti2)

Deactivate-tapahtuma tapahtuu raportissa myös, kun vaihdat raportista toiseen ohjausobjektivälilehteen Accessissa. Deactivate-tapahtumaa ei kuitenkaan tapahdu, kun vaihdat valintaikkunaan, lomakkeeseen, jonka PopUp-ominaisuus on asetettu tilaan Yes, tai johonkin ikkunaan toisessa ohjelmassa.

Kun avaat raportin, joka perustuu kyselyn, Access käynnistää Open-tapahtuman raportille ennen kyselyn suorittamista. Tällöin voit määrittää raportin ehdot käyttämällä makroa tai toimintosarjan, joka reagoi Open-tapahtumaan. Makro tai toimintosarja voi esimerkiksi avata mukautetun valintaikkunan, johon voit kirjoittaa raportin ehtoja.

Raporttiosien tapahtumat

Kun tulostat tai esikatselet raporttia, Format- ja Print-tapahtumat tapahtuvat raporttiosissa raportin Open- ja Activate-tapahtumien jälkeen ja ennen raportin Close- tai Deactivate-tapahtumia:

Open (raportti) nuoli Activate (raportti) nuoli Format (raporttiosa) nuoli Print (raporttiosa) nuoli Close (raportti) nuoli Deactivate (raportti)

Lisäksi seuraavat tapahtumat voivat tapahtua muotoilun aikana tai sen jälkeen, mutta ennen Print-tapahtumaa:

  • Retreat-tapahtuma tapahtuu, kun Access palaa edelliseen osaan raportin muotoilun aikana.

  • NoData-tapahtuma tapahtuu, jos raportissa ei ole tietueita.

  • Page-tapahtuma tapahtuu muotoilun jälkeen, mutta ennen tulostamista. Voit mukauttaa tulostetun raportin ulkoasua tämän tapahtuman avulla.

Sivun alkuun

Huomautus: Konekäännöksestä ilmoittava vastuusvapauslauseke: Tämä artikkeli on käännetty tietokonejärjestelmällä, eikä kieliasiantuntija ole muokannut sitä. Microsoft tarjoaa nämä konekäännökset avuksi muille kuin englantia puhuville käyttäjille, jotta he saavat lisätietoja Microsoftin tuotteista, palveluista ja tekniikoista. Koska artikkeli on koneellisesti käännetty, se saattaa sisältää sanasto-, lauseoppi- ja kielioppivirheitä.

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×