Az adatbázis-objektumok eseménysorrendje

Fontos : Ez a cikk gépi fordítással lett lefordítva, lásd a jognyilatkozatot. A cikk angol változatát itt találhatja meg.

Egyetlen művelet, például egy objektum egyik vezérlőjéről a másikra való átlépés számos különböző eseményt válthat ki. Az események meghatározott sorrendben aktiválódnak. Fontos tudni, hogy milyen események és milyen sorrendben következnek be, mert ez befolyásolja, hogy mikor és hogyan futnak le a makrók és az eseményvezérelt eljárások. Ha például van két eseményvezérelt eljárás, amelynek meghatározott sorrendben kell lefutnia, akkor ügyelni kell rá, hogy az eljárásokat kiváltó események ebben a sorrendben következzenek be.

Tartalom

Az űrlapokon lévő vezérlőkön bekövetkező események sorrendje

Az űrlapokon szereplő rekordokon bekövetkező események sorrendje

Az űrlapokon és a segédűrlapokon bekövetkező események sorrendje

A billentyűleütés és az egérrel való kattintás hatására bekövetkező események sorrendje

A jelentésekhez és a jelentések szakaszaihoz kapcsolódó események sorrendje

Az űrlapokon lévő vezérlőkön bekövetkező események sorrendje

Az űrlapok vezérlőelemein akkor következnek be események, ha a fókusz egy vezérlőre kerül, illetve amikor módosítják és frissítik a vezérlőelemben szereplő adatokat.

Megjegyzés : A Microsoft Office Access nem ugyanúgy jeleníti meg az események nevét a Visual Basic Editorban, mint a tulajdonságlapon és a Makrószerkesztőben. Az űrlap tulajdonságlapján és a Makrószerkesztőben szereplő Fókusz vételekor eseménynek a Visual Basic Editorban GotFocus a neve. A cikkben szereplő példákban az események nevének VBA (Visual Basic for Applications) formátumú nevét használjuk.

A fókusz áthelyezése egy vezérlőre

Amikor a fókusz egy űrlap valamelyik vezérlőjére kerül (például egy olyan űrlap megnyitásakor, amely egy vagy több aktív vezérlőt tartalmaz, vagy a fókusznak az űrlap egy másik vezérlőjére való átvitelével), az Enter és a GotFocus esemény következik be, az alábbi sorrendben:

Enter nyíl GotFocus

Ha megnyit egy űrlapot, az Enter és a GotFocus esemény az űrlap megnyitásával kapcsolatos események (az Open, az Activate és a Current) után következik be, az alábbi sorrendben:

Open (űrlap) nyíl Activate (űrlap) nyíl Current (űrlap) nyíl Enter (vezérlő) nyíl GotFocus (vezérlő)

Amikor a fókusz elhagyja egy űrlap valamelyik vezérlőjét (például egy olyan űrlap bezárásakor, amely egy vagy több aktív vezérlőt tartalmaz, vagy a fókusznak az űrlap egy másik vezérlőjére való átvitelével), az Exit és a LostFocus esemény következik be, az alábbi sorrendben:

Exit nyíl LostFocus

Az űrlapok bezárásakor az Exit és a LostFocus eseményre az űrlap bezárásához kapcsolódó események (az Unload, a Deactivate és a Close) előtt kerül sor, az alábbi sorrendben:

Exit (vezérlő) nyíl LostFocus (vezérlő) nyíl Unload (űrlap) nyíl Deactivate (űrlap) nyíl Close (űrlap)

A vezérlőkben szereplő adatok módosítása és frissítése

Ha adatokat ír be egy űrlapon szereplő vezérlőelembe, vagy módosítja a benne szereplő adatokat, majd egy másik vezérlőre viszi a fókuszt, a BeforeUpdate és az AfterUpdate eseményre kerül sor:

BeforeUpdate nyíl AfterUpdate

A módosult értékű vezérlőelem Exit és LostFocus eseményére a BeforeUpdate és az AfterUpdate esemény után kerül sor:

BeforeUpdate nyíl AfterUpdate nyíl Exit nyíl LostFocus

Ha módosítja a szöveget egy kombinált lista szövegmező részében, a Change esemény következik be. Ez az esemény mindig bekövetkezik, ha a vezérlőelem tartalma módosul, de még azt megelőzően, hogy a fókusz másik vezérlőre vagy rekordra kerül (vagyis a BeforeUpdate és az AfterUpdate esemény előtt). A szövegmezőkben vagy a kombinált listák szövegmező szakaszában minden egyes billentyűlenyomáskor a következő eseménysorozat megy végbe:

KeyDown nyíl KeyPress nyíl Dirty nyíl Change nyíl KeyUp

A NotInList esemény következik be, ha olyan értéket ad meg egy kombinált listában, amely nem szerepel a kombinált lista lista részében, és így próbál meg továbblépni egy másik vezérlőre vagy rekordra. A NotInList eseményre a kombinált lista billentyűzeteseményei és Change eseménye után, de még az űrlap minden más vezérlőjének eseményei előtt kerül sor. Ha a kombinált lista LimitToList tulajdonságának Yes az értéke, a NotInList esemény után azonnal bekövetkezik az űrlap Error eseménye:

KeyDown nyíl KeyPress nyíl Dirty nyíl Change nyíl KeyUp nyíl NotInList nyíl Error

Vissza a lap tetejére

Az űrlapokon szereplő rekordokon bekövetkező események sorrendje

Az űrlapokon szereplő rekordokon akkor következnek be események, ha másik rekordra viszi a fókuszt, ha frissíti a rekordban szereplő adatokat, töröl egy vagy több meglévő rekordot, vagy új rekordot hoz létre.

A fókusz átvitele a rekordokra és a rekordokban szereplő adatok frissítése

Ha egy űrlapon egy meglévő rekordra viszi a fókuszt, adatot visz be a rekordba, vagy módosítja a rekord adatait, majd egy másik rekordra viszi a fókuszt, az alábbi eseménysorozat következik be az űrlapon:

Current (űrlap) nyíl BeforeUpdate (űrlap) nyíl AfterUpdate (űrlap) nyíl Current (űrlap)

Amikor elhagyja a módosult adatokat tartalmazó rekordot, de még mielőtt a következő rekordra lép, az Exit és a LostFocus esemény következik be azon a rekordon, amelyen eddig volt a fókusz. Ezekre az eseményekre az űrlap BeforeUpdate és AfterUpdate eseménye előtt kerül sor, az alábbiak szerint:

BeforeUpdate (űrlap) nyíl AfterUpdate (űrlap) nyíl Exit (vezérlő) nyíl LostFocus (vezérlő) nyíl RecordExit (űrlap) nyíl Current (űrlap)

Ahogy lépteti a fókuszt egy űrlap vezérlőin, mindegyik vezérlőn bekövetkeznek a megfelelő események. Az alábbi műveletek végrehajtásakor például a következő eseménysorozatok zajlanak le:

  • Űrlap megnyitása és egy vezérlőelem adatainak módosítása:

    Current (űrlap) nyíl Enter (vezérlő) nyíl GotFocus (vezérlő) nyíl BeforeUpdate (vezérlő) nyíl AfterUpdate (vezérlő)

  • A fókusz átvitele egy másik vezérlőre:

    Exit (1. vezérlő) nyíl LostFocus (1. vezérlő) nyíl Enter (2. vezérlő) nyíl GotFocus (2. vezérlő)

  • A fókusz átvitele egy másik rekordra:

    BeforeUpdate (űrlap) nyíl AfterUpdate (űrlap) nyíl Exit (2. vezérlő) nyíl LostFocus (2. vezérlő) nyíl RecordExit (űrlap) nyíl Current (űrlap)

Rekordok törlése

Rekord törlésekor bekövetkeznek az alábbi események az űrlapon, és a Microsoft Office Access megjelenít egy párbeszédpanelt, amely kéri a törlés megerősítését:

Delete nyíl BeforeDelConfirm nyíl AfterDelConfirm

Ha visszavonja a Delete eseményt, nem kerül sor a BeforeDelConfirm és a AfterDelConfirm eseményre, és nem jelenik meg a párbeszédpanel.

Új rekord létrehozása

Ha egy űrlap új (üres) rekordjára viszi a fókuszt, majd új rekordot hoz létre úgy, hogy adatokat ír be egy vezérlőbe, a következő eseménysorozat megy végbe:

Current (űrlap) nyíl Enter (vezérlő) nyíl GotFocus (vezérlő) nyíl BeforeInsert (űrlap) nyíl AfterInsert (űrlap)

Az űrlapon lévő vezérlők BeforeUpdate és AfterUpdate eseményei és az új rekord eseményei a BeforeInsert esemény után és az AfterInsert esemény előtt következnek be.

Vissza a lap tetejére

Az űrlapokon és a segédűrlapokon bekövetkező események sorrendje

Az űrlapok eseményei az űrlapok megnyitásakor és bezárásakor, az űrlapok közötti váltáskor, illetve az űrlapon vagy segédűrlapon található adatokkal kapcsolatos műveletek alkalmával következnek be.

Űrlap megnyitása és bezárása

Űrlap megnyitásakor az űrlap alábbi eseményei következnek be:

Open nyíl Load nyíl Resize nyíl Activate nyíl Current

Ha nincsenek az űrlapon aktív vezérlők, az űrlap GotFocus eseményére az Activate esemény után, de a Current esemény előtt kerül sor.

Az űrlapok bezárásakor a következő eseménysorozatra megy végbe az űrlapon:

Unload nyíl Deactivate nyíl Close

Ha nincsenek az űrlapon aktív vezérlők, az űrlap LostFocus eseményére az Unload esemény után, de a Deactivate esemény előtt kerül sor.

Váltás az űrlapok között

Ha vált két nyitva lévő űrlap között, először az első űrlap Deactivate eseménye, utána a második űrlap Activate eseménye következik be:

Deactivate (1. űrlap) nyíl Activate (2. űrlap)

Az űrlapok Deactivate eseménye akkor is bekövetkezik, ha a felhasználó az űrlapról az Access egy másik objektumlapjára vált. A Deactivate eseményre azonban nem kerül sor, ha párbeszédpanelre vált, vagy egy olyan űrlapra, amelynek PopUp tulajdonsága Yes értékű, illetve egy másik program egy ablakára lép.

Megjegyzés :  Az Open esemény nem következik be, ha már megnyitott űrlapra viszi át a fókuszt, még akkor sem, ha egy OpenForm művelettel vitte is át a fókuszt arra az űrlapra.

Az űrlapokon szereplő adatokon végzett műveletek

Az űrlapokon lévő rekordok között való mozgás és az adatok módosításának hatására űrlap- és vezérlőesemények következnek be. Amikor például először nyit meg egy űrlapot, a következő eseménysorozat megy végbe:

Open (űrlap) nyíl Load (űrlap) nyíl Resize (űrlap) nyíl Activate (űrlap) nyíl Current (űrlap) nyíl Enter (vezérlő) nyíl GotFocus (vezérlő)

Az űrlapok bezárásakor pedig a következő eseménysorozat megy végbe:

Exit (vezérlő) nyíl LostFocus (vezérlő) nyíl Unload (űrlap) nyíl Deactivate (űrlap) nyíl Close (űrlap)

Ha módosította az adatokat egy vezérlőben, a vezérlő és az űrlap BeforeUpdate és AfterUpdate eseményére is a vezérlő Exit eseménye előtt kerül sor.

Segédűrlapok használata

Ha olyan űrlapot nyit meg, amely segédűrlapot tartalmaz, a segédűrlapok és rekordjaik betöltésére a fő űrlap betöltése előtt kerül sor. Ezért a segédűrlapnak és vezérlőinek az eseményei (például az Open, a Current, az Enter és a GotFocus) az űrlap eseményei előtt következnek be. A segédűrlapoknál azonban nem következik be az Activate esemény. Így tehát a fő űrlap megnyitása csak a fő űrlap Activate eseményét váltja ki.

Ehhez hasonlóan a segédűrlapot tartalmazó űrlapok bezárásakor a segédűrlapot és rekordjait az űrlap után távolítja el a memóriából a rendszer. A segédűrlapoknál nem következik be Deactivate esemény. Így tehát a fő űrlap bezárása csak a fő űrlap Deactivate eseményét váltja ki. A vezérlők, az űrlap és a segédűrlap eseményei az alábbi sorrendben következnek be:

  1. A segédűrlap vezérlőinek eseményei (például Exit és LostFocus)

  2. Az űrlap vezérlőinek eseményei (a segédűrlap vezérlőt is beleértve)

  3. Az űrlap eseményei (például Deactivate és Close)

  4. A segédűrlap eseményei

Megjegyzés :  A segédűrlapok eseményeire a fő űrlap bezárása után kerül sor, ezért bizonyos események nem következnek be; ilyen például a fő űrlap bezárásának a segédűrlapon bekövetkező eseményből történő visszavonása. Az ilyen jellegű érvényesség-ellenőrzéseket célszerű a főűrlapon bekövetkező eseményhez kötni.

Vissza a lap tetejére

A billentyűleütés és az egérrel való kattintás hatására bekövetkező események sorrendje

Az űrlapokhoz és vezérlőkhöz kapcsolódó billentyűzetesemények akkor következnek be, ha billentyűket nyom le vagy billentyűleütéseket küld, miközben az űrlapon vagy a vezérlőn van a fókusz. Az űrlapok, űrlapszakaszok és vezérlőelemek egéreseményeire akkor kerül sor, ha lenyomja az egér gombjait, miközben az egérmutató egy űrlapon, egy szakaszban vagy egy vezérlőelemen van. Akkor is bekövetkeznek egéresemények, ha egy űrlap, szakasz vagy vezérlő fölé viszi az egérmutatót.

Billentyűzetesemények

Ha lenyom és felenged egy billentyűt, miközben a fókusz az űrlap egy vezérlőelemén van (illetve a SendKeys művelettel vagy egy utasítással elküld egy billentyűleütést), a következő eseménysorozat megy végbe:

KeyDown nyíl KeyPress nyíl KeyUp

Ha egy az ANSI karakterkészletbe tartozó billentyűt lenyom, vagy elküld egy ilyen billentyűleütést, a KeyDown, a KeyPress és a KeyUp eseményre is sor kerül. Ha egy ANSI-billentyűt lenyomva tart, akkor váltakozva ismétlődik a KeyDown és a KeyPress esemény (KeyDown, KeyPress, KeyDown, KeyPress stb.), amíg fel nem engedi a billentyűt; ekkor bekövetkezik a KeyUp esemény.

Ha egy nem ANSI-billentyűt lenyom és felenged, a KeyDown és a KeyUp esemény következik be. Ha egy nem ANSI-billentyűt lenyomva tart, akkor a KeyDown esemény ismétlődik, amíg fel nem engedi a billentyűt; ekkor bekövetkezik a KeyUp esemény.

Ha egy billentyű lenyomása kiváltja egy vezérlő egy másik eseményét, akkor az az esemény a KeyPress esemény után, de a KeyUp esemény előtt következik be. Ha például egy billentyűleütés módosítja egy szövegmező szövegét, és ezáltal aktiválódik a Change esemény, a következő eseménysorozat megy végbe:

KeyDown nyíl KeyPress nyíl Change nyíl KeyUp

Ha egy billentyűleütés hatására a fókusz egyik vezérlőről a másikra kerül, a KeyDown esemény az első vezérlőn következik be, a KeyPress és a KeyUp esemény pedig a második vezérlőn. Ha például módosítja az adatokat egy vezérlőben, és a TAB billentyű lenyomásával a következő vezérlőre lép, akkor a következő eseménysorozat megy végbe:

  • Első vezérlő:

    KeyDown nyíl BeforeUpdate nyíl AfterUpdate nyíl Exit nyíl LostFocus

  • Második vezérlő:

    Enter nyíl GotFocus nyíl KeyPress nyíl KeyUp

Egéresemények

Ha lenyom vagy felenged egy egérgombot, amikor az egérmutató egy vezérlőelemen vagy egy űrlapon van, az űrlap alábbi eseményei következnek be:

MouseDown nyíl MouseUp nyíl Click

Ha a fókusz egy vezérlőn van, és Ön kattintással átviszi a fókuszt egy másik vezérlőre, az alábbi eseménysorozat következik be:

  • Első vezérlő:

    Exit nyíl LostFocus

  • Második vezérlő:

    Enter nyíl GotFocus nyíl MouseDown nyíl MouseUp nyíl Click

Ha egy másik rekordra lép, majd rákattint egy vezérlőre, akkor az űrlap Current eseménye is bekövetkezik a vezérlő Enter eseménye előtt.

Ha duplán kattint egy vezérlőre, akkor a Click és a DblClick esemény is bekövetkezik. Ha például egy olyan vezérlőre kattint duplán, amely nem parancsgomb, az események alábbi sorozata következik be a vezérlőn:

MouseD own nyíl MouseUp nyíl Click nyíl DblClick nyíl MouseUp

Ha egy parancsgombra kattint duplán, az előző eseménysorozat zajlik de, de egy második Click esemény követi.

Az űrlapok, a szakaszok és a vezérlők MouseMove eseményére akkor kerül sor, ha az egérmutatót az űrlap, szakasz vagy vezérlő fölé viszi. Ez az esemény független a többi egéreseménytől.

Vissza a lap tetejére

A jelentésekhez és a jelentések szakaszaihoz kapcsolódó események sorrendje

A jelentések nyomtatásra vagy megtekintésre való megnyitásakor, illetve a jelentések bezárásakor a jelentésekhez és a jelentések szakaszaihoz kapcsolódó események következnek be.

A jelentések eseményei

Ha nyomtatásra vagy megtekintésre megnyit egy jelentést, majd később bezárja a jelentést, vagy az Access egy másik objektumlapjára lép, a jelentéshez kapcsolódó események alábbi sorozata következik be:

Open nyíl Activate nyíl Close nyíl Deactivate

Ha vált két jelentés között, először az első jelentés Deactivate eseménye, utána a második jelentés Activate eseménye következik be:

Deactivate (1. jelentés) nyíl Activate (2. jelentés)

A jelentések Deactivate eseménye akkor is bekövetkezik, ha a felhasználó a jelentésről az Access egy másik objektumlapjára vált. A Deactivate eseményre azonban nem kerül sor, ha párbeszédpanelre vált, vagy egy olyan űrlapra, amelynek PopUp tulajdonsága Yes értékű, illetve egy másik program egy ablakára lép.

Ha lekérdezésen alapuló jelentést nyit meg, az Access előbb a jelentés Open eseményét aktiválja, csak utána futtatja a jelentést megalapozó lekérdezést. Ennek következtében be lehet állítani a jelentés feltételeit olyan makróval vagy eseményvezérelt eljárással, amely az Open eseményre reagál. A makró vagy az eseményvezérelt eljárás például megnyithat egy egyéni párbeszédpanelt, amelyen megadhatók a jelentés feltételei.

A jelentések szakaszainak eseményei

Ha kinyomtat vagy megnyit egy jelentést, a jelentés szakaszainak Format és Print eseménye a jelentés Open és Activate eseménye után, de a jelentés Close vagy Deactivate eseménye előtt következik be:

Open (jelentés) nyíl Activate (jelentés) nyíl Format (jelentésszakasz) nyíl Print (jelentésszakasz) nyíl Close (jelentés) nyíl Deactivate (jelentés)

Ezenkívül a következő események fordulhatnak elő formázás közben vagy után, de még a Print esemény előtt:

  • A Retreat esemény következik be, amikor az Access a jelentés formázása közben visszatér egy előző szakaszra.

  • A NoData esemény következik be, ha nincsenek olyan rekordok, amelyeket a jelentés megjeleníthetne.

  • A Page esemény következik be a formázás után, de a nyomtatás előtt. Ez az esemény felhasználható a kinyomtatott jelentés megjelenésének testreszabásához.

Vissza a lap tetejére

Megjegyzés : Gépi fordítás jognyilatkozata: Ez a cikk számítógép által, emberi közreműködés nélkül lett lefordítva. A Microsoft ezeket a gépi fordításokat azért nyújtja, hogy az angol nyelvet nem beszélők minél több tartalomhoz tudjanak hozzáférni a Microsoft termékeivel, szolgáltatásaival és technológiáival kapcsolatban. A gépi fordítás miatt előfordulhat, hogy a szöveg szóhasználati, szintaktikai vagy helyesírási hibákat tartalmaz.

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

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

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×