Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

En enkelt handling, for eksempel å flytte fra en kontroll på et objekt til en annen kontroll, kan utløse flere forskjellige hendelser som forekommer i en bestemt rekkefølge. Å vite når hendelser oppstår og i hvilken rekkefølge de forekommer i, er viktig fordi det kan påvirke hvordan og når makroene eller hendelsesprosedyrene kjører. Hvis det for eksempel er to hendelsesprosedyrer som skal kjøres i en bestemt rekkefølge, bør du forsikre deg om at hendelsene de er knyttet til, forekommer i samme rekkefølge.

I denne artikkelen

Rekkefølgen på hendelser for kontroller på skjemaer

Hendelser forekommer for kontroller på skjemaer når du flytter fokus til en kontroll, og når du endrer og oppdaterer data i en kontroll.

Obs!: Microsoft Office Access viser hendelsesnavn litt annerledes i Visual Basic Editor enn det den gjør i egenskapsarket og i Makroverktøyet. For eksempel, hendelsen som heter Ved fått fokus i skjemaets eiendomsark og i Macro Builder heter GotFocus i Visual Basic Editor. Eksemplene i denne artikkelen bruker Visual Basic for Applications (VBA)-format for hendelsesnavn.

Slik flytter du fokus til en kontroll

Når du flytter fokus til en kontroll i et skjema (for eksempel ved å åpne et skjema som inneholder én eller flere aktive kontroller, eller ved å flytte fokus til en annen kontroll på det samme skjemaet), forekommer Enter- og GotFocus-hendelser i denne rekkefølgen:

Angi pil GotFocus

Når du åpner et skjema, så forekommer Enter- og GotFocus-hendelser etter hendelsene som er knyttet til åpning av skjemaet (for eksempel Open, Activate og Current), som følger:

Åpne (skjema) pilAktivere (skjema) pilGjeldende (skjema) pilEnter (kontroll) pilGotFocus (kontroll)

Når fokuset forlater et skjema (for eksempel når du lukker et skjema som inneholder en eller flere aktive kontroller, eller når du flytter til en annen kontroll på samme skjema), forekommer Exit- og LostFocus-hendelsene i denne rekkefølgen:

Avslutt pil LostFocus

Når du lukker et skjema, forekommer Exit- og LostFocus-hendelsene før hendelsene forbundet med å lukke skjemaet (for eksempel Unload, Deactivate og Close), som følger:

Avslutt (kontroll) pilLostFocus (kontroll) pilFjern (skjema) pilDeaktiver (skjema) pilLukk (skjema)

Endre og oppdatere data i en kontroll

Når du skriver inn eller endrer data i en kontroll på et skjema, og deretter flytter fokuset til en annen kontroll, forekommer BeforeUpdate- og AfterUpdate-hendelsene:

BeforeUpdate pil Afte rUpdate

Exit- og LostFocus-hendelser for en kontroll når verdiendringer forekommer etter BeforeUpdate- og AfterUpdate-hendelser:

BeforeUpdate pil AfterUpdate pil Exit pil LostFocus

Når du endrer teksten i en tekstboks, eller i tekstboksdelen i en kombinasjonsboks, forekommer Change-hendelsen. Denne hendelsen forekommer når innholdet i kontrollen endres, men før du flytter fokus til en annen kontroll eller post (og derfor før BeforeUpdate- og AfterUpdate-hendelser forekommer). Følgende rekkefølge av hendelser forekommer for hver tast du trykker i en tekstboks eller i tekstboksdelen av en kombinasjonsboks:

KeyDown pil KeyPress pil Dirty pil Endre pil KeyUp

NotInList-hendelsen forekommer hvis du angir en verdi i en kombinasjonsboks som ikke finnes i kombinasjonsbokslisten, og prøver deretter å flytte fokus til en annen kontroll eller post. NotInList-hendelsen forekommer etter tastaturhendelsene og Change-hendelser for kombinasjonsboksen, men før hendelsene for eventuelle andre kontroller eller skjemaet. Hvis LimitToList-egenskapen for kombinasjonsboksen er satt til Ja, forekommer Error-hendelsen for skjemaet umiddelbart etter NotInList-hendelsen:

KeyDown pil KeyPress pil Dirty pil Endre pil KeyUp pil NotInList 0-feil

Til toppen av siden

Rekkefølgen på hendelser for poster på skjemaer

Hendelser som forekommer for poster i skjemaer når du flytter fokus til en annen post, oppdaterer data i en post, sletter en eksisterende oppføring eller poster eller oppretter en ny post.

Flytte fokus til poster og oppdatere dataene i poster

Når du flytter fokus til en eksisterende oppføring i et skjema, skriver inn eller endrer data i posten, og deretter flytter fokus til en annen post, forekommer følgende rekkefølge av hendelser for skjemaet:

Gjeldende (skjema) pilBeforeUpdate (skjema) pilAfterUpdate (skjema) pilCurrent (skjema)

Når du forlater posten der dataene er endret, men før du skriver inn den neste posten, forekommer Exit- og LostFocus-hendelsene for kontrollen som har fokuset. Disse hendelser forekommer etter BeforeUpdate- og AfterUpdate-hendelser for skjemaet, som følger:

BeforeUpdate (skjema) pilAfterUpdate (skjema) pilExit (kontroll) pilLostFocus (kontroll) pilCurrent (skjema)

Når du flytter fokus mellom kontrollene i et skjema, forekommer hendelser for hver kontroll. For eksempel forekommer følgende rekkefølge av hendelser når du gjør følgende:

  • Åpne et skjema, og endre data i en kontroll:

    Gjeldende (skjema) pilEnter (kontroll) pilGotFocus (kontroll) pilBeforeUpdate (kontroll) pilAfterUpdate (kontroll)

  • Flytter fokus til en annen kontroll:

    Avslutt (kontroll1) pilLostFocus (kontroll1) pilEnter (kontroll2) pilGotFocus (kontroll2)

  • Flytter fokus til en annen post:

    BeforeUpdate (skjema) pilAfterUpdate (skjema) pilExit (control2) pilLostFocus (control2) pilCurrent (skjema)

Sletting av poster

Når du sletter en post, forekommer følgende hendelser for skjemaet, og Microsoft Office Access viser en dialogboks som ber deg om å bekrefte slettingen:

Slett pil BeforeDelConfirm pil AfterDelConfirm

Hvis du avbryter Delete-hendelsen, forekommer ikke BeforeDelConfirm- og AfterDelConfirm-hendelsene, og dialogboksen vises ikke.

Opprette en ny post

Når du flytter fokus til en ny (tom) post i et skjema, og deretter opprette en ny oppføring ved å skrive inn data i en kontroll, oppstår følgende rekkefølge av hendelser:

Gjeldende (skjema) pilEnter (kontroll) pilGotFocus (kontroll) pilBeforeInsert (skjema) pilAfterInsert (skjema)

BeforeInsert-hendelsen (skjema) utløses så snart du begynner å skrive i kontrollen. AfterInsert-hendelsen (skjema) utløses når du forlater posten.

BeforeUpdate- og AfterUpdate-hendelser for kontrollene i skjemaet, og for den nye posten, forekommer etter BeforeInsert-hendelsen, og før AfterInsert-hendelsen.

Til toppen av siden

Rekkefølgen på hendelser for skjemaer og delskjemaer

Hendelser forekommer for skjemaer når du åpner eller lukker et skjema, flytter mellom skjemaer eller arbeider med data i et skjema eller delskjema.

Åpne og lukke et skjema

Når du åpner et skjema, forekommer følgende rekkefølge av hendelser for skjemaet:

Åpne pil last inn pil endre størrelsepilaktiver pilgjeldende

Hvis det ikke finnes noen aktive kontroller på skjemaet, forekommer GotFocus-hendelsen for skjemaet etter Activate-hendelsen, men før Current-hendelsen.

Når du lukker et skjema, forekommer følgende rekkefølge av hendelser for skjemaet:

Fjern pil Deaktiver pil Lukk

Hvis det ikke finnes noen aktive kontroller på skjemaet, forekommer LostFocus-hendelsen for skjemaet etter Unload-hendelsen, men før Deactivate-hendelsen.

Flytting mellom skjemaer

Når du bytter mellom to åpne skjemaer, forekommer Deactivate-hendelsen for det første skjemaet, og Activate-hendelsen for det andre skjemaet:

Deaktivere (skjema1) pilAktivere (skjema2)

Deactivate-hendelsen for et skjema forekommer også når du bytter fra skjemaet til en annen objekt-fane i Access. Deactivate-hendelsen forekommer imidlertid ikke når du bytter til en dialogboks, til et skjema hvor PopUp-egenskapen er satt til Ja eller til et vindu i et annet program.

Obs!:  Open-hendelsen forekommer ikke hvis du flytter fokus til et skjema som allerede er åpen, selv om du har flyttet fokuset til det samme skjemaet ved å utføre en OpenForm-handling.

Arbeide med data på et skjema

Skjema og kontroll hendelser forekommer når du flytter mellom poster i skjemaet, og endrer på data. Når du eksempelvis åpner et skjema, forekommer følgende rekkefølge av hendelser:

Åpne (skjema) pilLast inn (skjema) pilEndre størrelse (skjema) pilAktiver (skjema) pilGjeldende (skjema) pilEnter (kontroll)0 GotFocus (kontroll)

På samme måte som når du lukker et skjema, forekommer følgende rekkefølge av hendelser:

Avslutt (kontroll) pilLostFocus (kontroll) pilFjern (skjema) pilDeaktiver (skjema) pilLukk (skjema)

Hvis du har endret dataene i en kontroll, forekommer BeforeUpdate- og AfterUpdate-hendelsene for både kontrollen og skjemaet før Exit-hendelsen for kontrollen.

Arbeide med delskjemaer

Når du åpner et skjema som inneholder et delskjema, lastes delskjemaet og tilhørende poster før hovedskjemaet. Dermed forekommer hendelsene for delskjemaet og de tilhørende kontrollene (som for eksempel Open, Current, Enter, og GotFocus) før hendelsene for skjemaet. Activate-hendelsen forekommer imidlertid ikke for delskjema. Når du åpner et hovedskjema, forekommer derfor en Activate-hendelse bare for hovedskjemaet.

På samme måte som når du lukker et skjema som inneholder et delskjema, blir delskjemaet og oppføringene fjernet etter skjemaet. Deactivate-hendelsen forekommer ikke for delskjema. Når du lukker et hovedskjema, forekommer derfor en Deactivate-hendelse bare for hovedskjemaet. Hendelsene for kontrollene, skjemaet og delskjemaet forekommer i følgende rekkefølge:

  1. Hendelser for kontrollene til delskjema (for eksempel Exit og LostFocus)

  2. Hendelser for skjemakontroller (inkludert delskjemakontrollen)

  3. Hendelser for skjemaet (for eksempel Deactivate og Close)

  4. Hendelser for delskjemaet

Obs!: Fordi hendelsene for et delskjema forekommer etter at hovedskjemaet er lukket, er det visse hendelser som ikke skjer, som for eksempel å avbryte lukkingen av hovedskjemaet fra en hendelse i delskjemaet. Du må kanskje flytte denne typen valideringstester til en hendelse på hovedskjemaet.

Til toppen av siden

Rekkefølgen på hendelser for tastetrykk og museklikk

Tastaturhendelser forekommer for skjemaer og kontroller når du trykker på tastene, eller sender tastetrykk når skjemaet eller kontrollen har fokus. Musehendelser forekommer for skjemaer, skjemainndelinger og kontroller på skjemaer når du klikker på museknappene mens musepekeren er i et skjema, en inndeling eller en kontroll. Musehendelser forekommer også når du flytter musepekeren over et skjema, en inndeling eller en kontroll.

Tastaturhendelser

Når du trykker på og slipper en tast mens en kontroll på et skjema har fokuset (eller bruker SendKeys-handlingen eller oversikt for å sende et tastetrykk), forekommer følgende rekkefølge av hendelser:

KeyDown pil KeyPress pil KeyUp

Når du trykker på og slipper en tast eller sender et tastetrykk til ANSI-tegnsett, forekommer alle KeyDown-, KeyPress-, og KeyUp-hendelsene. Hvis du trykker på og holder nede en ANSI-nøkkel, gjentar KeyDown- og KeyPress-hendelsene seg gjentatte ganger (KeyDown, KeyPress, KeyDown, KeyPress, og så videre) til du slipper nøkkelen, da forekommer KeyUp-hendelsen.

Hvis du trykker på og slipper en ikke-ANSI-nøkkel, forekommer KeyDown- og KeyUp-hendelsene. Hvis du trykker på og holder nede en ikke-ANSI-tast, forekommer KeyDown-hendelsen gjentatte ganger til du slipper nøkkelen, og deretter forekommer KeyUp-hendelsen.

Hvis et tastetrykk utløser en annen hendelse for en kontroll, forekommer hendelsen etter KeyPress-hendelsen, men før KeyUp-hendelsen. Hvis et tastetrykk for eksempel endrer tekst i en tekstboks, som utløser en Change-hendelse, forekommer følgende rekkefølge av hendelser:

KeyDown pil KeyPress pil Endre pil KeyUp

Hvis et tastetrykk gjør at fokuset flyttes fra én kontroll til en annen kontroll, forekommer KeyDown-hendelsen for den første kontrollen, mens KeyPress og KeyUp-hendelsene forekommer for den andre kontrollen. Hvis du for eksempel endrer data i en kontroll og trykker på TAB-tasten for å flytte til neste kontroll, forekommer følgende sekvenser av hendelser:

  • Første kontroll:

    KeyDown pil BeforeUpdate pil AfterUpdate pil Exit pil LostFocus

  • Andre kontroll:

    Angi pil GotFocus pil KeyPress pil KeyUp

Musehendelser

Når du klikker på og slipper en museknapp mens musepekeren er på en kontroll på et skjema, forekommer følgende sekvens av hendelser for kontrollen:

MouseDown pil MouseUp pil Klikk

Hvis en kontroll har fokuset, og du klikker på en annen kontroll for å flytte fokuset til denne andre kontrollen, forekommer følgende sekvenser av hendelser:

  • Første kontroll:

    Avslutt pil LostFocus

  • Andre kontroll:

    Skriv inn pil GotFocus pil MouseDown pil MouseUp pil Klikk

Hvis du flytter til en annen post og deretter klikker på en kontroll, forekommer Current-hendelsen for skjemaet før Enter-hendelsen for kontrollen.

Ved å dobbeltklikke på en kontroll, forekommer både Click- og DblClick-hendelsene. Hvis du for eksempel dobbeltklikker på en annen kontroll enn en kommandoknapp, forekommer følgende sekvens av hendelser for kontrollen:

MouseD egen pil MouseUp pil Klikk pil DblClick pil MouseUp

Når du dobbeltklikker på en kommandoknapp, forekommer den foregående sekvensen av hendelser, etterfulgt av en ny Click-hendelse.

MouseMove-hendelsen for en form, inndeling eller kontroll forekommer når du beveger musepekeren over skjemaet, inndelingen eller kontrollen. Denne hendelsen er uavhengig av andre musehendelser.

Til toppen av siden

Rekkefølgen på hendelser for rapporter og rapportinndelinger

Hendelser forekommer for rapporter og rapportinndelinger når du åpner en rapport for å forhåndsvise den, eller for å skrive den ut. Hendelser skjer også når du deretter lukker den.

Hendelser for rapporter

Når du åpner en rapport for å skrive ut eller for å forhåndsvise, og deretter lukker rapporten eller flytter til en annen objektfane i Access, forekommer følgende hendelsesrekkefølge for rapporten:

Åpne pil Aktiver pil Lukk pil Deaktiver

Når du bytter mellom to åpne rapporter, forekommer Deactivate-hendelsen for det første skjemaet og Activate-hendelsen for det andre skjemaet:

Deaktiver (rapport1) pilAktiver (rapport2)

Deactivate-hendelsen for en rapport forekommer også når du bytter fra skjemaet til en annen objekt-fane i Access. Deactivate-hendelsen forekommer imidlertid ikke når du bytter til en dialogboks, til et skjema hvor PopUp-egenskapen er satt til Ja eller til et vindu i et annet program.

Når du åpner en rapport som er basert på en spørring, utløser Access Open-hendelsen for rapporten før den kjører den underliggende spørringen. Som et resultat kan du angi kriteriene for rapporten ved hjelp av en makro- eller hendelsesprosedyre som reagerer på Open-hendelsen. For eksempel kan makro- eller hendelsesprosedyren åpne en egendefinert dialogboks der du angir rapportkriterier.

Hendelser for rapportinndelinger

Når du skriver ut eller forhåndsviser en rapport, forekommer Format- og Print-hendelsene for rapporten etter Open- og Activate-hendelser, og før rapportens Close- eller Deactivate-hendelser:

Åpne (rapport) pilAktiver (rapport) pilFormat (rapportinndeling) pilSkriv ut (rapportinndeling) pilLukk (rapport) pilDeaktiver (rapport)

Sikkerhet    Du kan bruke rapportvisning til å aktivere brukerfiltrering av rapporter. Men i motsetning til forhåndsvisning, forekommer ikke format- og utskriftshendelsene i noen inndelinger i rapportvisning. Dette gjelder også for VBA-funksjonsresultater og brukerdefinerte prosedyrer som vises i kontroller (for eksempel etiketttekster, visningsstatus, betinget formatering, endring av størrelse på kontroller og så videre) i disse hendelsene. Derfor må du ikke bruke kode i denne hendelsen til å formatere, skjule eller skrive ut konfidensielle data, som kan bli eksponert. Vi anbefaler at du forhåndsfiltrerer dataene eller deaktiverer forhåndsvisning av rapport ved å angi Egenskapen AllowReportView til Nei.

I tillegg kan følgende hendelser forekommer under eller etter formatering, men før Print-hendelsen:

  • Retreat-hendelsen forekommer når Access vender tilbake til en tidligere inndeling under rapportformatering.

  • NoData-hendelsen forekommer hvis det ikke vises noen poster i rapporten.

  • Page-hendelsen forekommer etter formatering, men før utskrift. Du kan bruke denne hendelsen til å tilpasse utseendet på den trykte rapporten.

Til toppen av siden

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×