Urutan kejadian untuk objek database

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Satu tindakan, seperti berpindah dari satu kontrol pada suatu objek ke kontrol lain, dapat memicu beberapa peristiwa berbeda, yang terjadi dalam urutan tertentu. Mengetahui kapan kejadian terjadi dan dalam urutan kemunculannya penting karena hal ini dapat memengaruhi bagaimana dan kapan makro atau prosedur kejadian Anda berjalan. Sebagai contoh, jika ada dua prosedur kejadian yang akan dijalankan dalam urutan tertentu, Anda perlu memastikan kejadian yang terkait dengannya terjadi dalam urutan yang sama.

Di artikel ini

Urutan peristiwa untuk kontrol pada formulir

Kejadian terjadi untuk kontrol pada formulir saat Anda memindahkan fokus ke kontrol, dan saat Anda mengubah dan memperbarui data dalam kontrol.

Catatan

Microsoft Office Access menampilkan nama acara yang sedikit berbeda di Visual Basic Editor daripada di lembar properti dan Macro Builder. Misalnya, kejadian bernama On Got Focus di lembar properti formulir dan di Macro Builder dinamai GotFocus di Visual Basic Editor. Contoh dalam artikel ini menggunakan format Visual Basic for Applications (VBA) untuk nama peristiwa.

Memindahkan fokus ke kontrol

Saat Anda memindahkan fokus ke kontrol pada formulir (misalnya, dengan membuka formulir yang berisi satu atau beberapa kontrol aktif, atau dengan memindahkan fokus ke kontrol lain pada formulir yang sama), kejadian Enter dan GotFocus terjadi dalam urutan ini:

MasukkanpanahGotFocus

Saat Anda membuka formulir, kejadian Enter dan GotFocus terjadi setelah kejadian yang terkait dengan pembukaan formulir (seperti Buka, Aktifkan, dan Saat Ini), sebagai berikut:

Buka (formulir) panahAktifkan (formulir) panahSaat ini (formulir) panahEnter (kontrol) panahGotFocus (kontrol)

Saat fokus meninggalkan kontrol pada formulir (misalnya, saat Anda menutup formulir yang berisi satu atau beberapa kontrol aktif, atau saat Anda berpindah ke kontrol lain pada formulir yang sama), kejadian Keluar dan LostFocus terjadi dalam urutan ini:

Panah keluarLostFocus

Saat Anda menutup formulir, kejadian Keluar dan LostFocus terjadi sebelum kejadian yang terkait dengan penutupan formulir (seperti Bongkar, Nonaktifkan, dan Tutup), sebagai berikut:

Panah keluar ( kontrol)LostFocus (kontrol) panahBongkar (formulir) panahNonaktifkan (formulir) panahTutup (formulir)

Mengubah dan memperbarui data dalam kontrol

Ketika Anda memasukkan atau mengubah data dalam kontrol pada formulir, lalu memindahkan fokus ke kontrol lain, peristiwa BeforeUpdate dan AfterUpdate akan terjadi:

SebelumPanah PerbaruiSetelahUpdate

Kejadian Exit dan LostFocus untuk kontrol yang perubahan nilainya terjadi setelah kejadian BeforeUpdate dan AfterUpdate:

SebelumPanah pembaruanSetelahPanahpembaruan Panah keluarLostFocus

Saat Anda mengubah teks dalam kotak teks atau di bagian kotak teks dari kotak kombo, kejadian Perubahan akan terjadi. Kejadian ini terjadi setiap kali konten kontrol berubah, tetapi sebelum Anda memindahkan fokus ke kontrol atau rekaman lain (dan oleh karena itu, sebelum kejadian BeforeUpdate dan AfterUpdate terjadi). Urutan kejadian berikut terjadi untuk setiap tombol yang Anda tekan dalam kotak teks atau di bagian kotak teks dari kotak kombo:

KeyDownarrow KeyPressarrowPanah kotor UbahpanahKeyUp

Kejadian NotInList terjadi setelah Anda memasukkan nilai dalam kotak kombo yang tidak ditemukan dalam daftar kotak kombo lalu mencoba memindahkan fokus ke kontrol atau rekaman lain. Kejadian NotInList terjadi setelah kejadian keyboard dan kejadian Ubah untuk kotak kombo, tetapi sebelum kejadian untuk kontrol atau formulir lainnya. Jika properti LimitToList dari kotak kombo diatur ke Ya, kejadian Kesalahan untuk formulir terjadi segera setelah kejadian NotInList :

TombolPanah bawahTombolTekanpanahPanah kotor UbahpanahKeyPanah atasPanah NotInListKesalahan

Atas Halaman

Urutan peristiwa untuk catatan pada formulir

Peristiwa terjadi untuk rekaman pada formulir saat Anda memindahkan fokus ke catatan lain, memperbarui data dalam rekaman, menghapus catatan atau catatan yang ada, atau membuat catatan baru.

Memindahkan fokus ke rekaman dan memperbarui data dalam rekaman

Saat Anda memindahkan fokus ke catatan yang sudah ada pada formulir, memasukkan atau mengubah data dalam rekaman, lalu memindahkan fokus ke rekaman lain, urutan kejadian berikut akan terjadi untuk formulir tersebut:

Saat ini (formulir) panahSebelumPerbarui (formulir) panahAfterUpdate (formulir) panahSaat ini (formulir)

Saat Anda meninggalkan catatan yang datanya telah berubah, tetapi sebelum Anda memasukkan catatan berikutnya, kejadian Keluar dan LostFocus terjadi untuk kontrol yang memiliki fokus. Kejadian ini terjadi setelah kejadian BeforeUpdate dan AfterUpdate untuk formulir, sebagai berikut:

SebelumPerbarui (formulir) panahAfterUpdate (formulir) panahKeluar (kontrol) panahLostFocus (kontrol) panahSaat ini (formulir)

Saat Anda memindahkan fokus di antara kontrol pada formulir, terjadi peristiwa untuk setiap kontrol. Misalnya, urutan kejadian berikut terjadi saat Anda melakukan hal berikut:

  • Buka formulir dan ubah data dalam kontrol:
    Saat ini (formulir) panahEnter (kontrol) panahGotFocus (kontrol) panahSebelumUpdate (kontrol) panahAfterUpdate (kontrol)
  • Pindahkan fokus ke kontrol lain:
    Keluar (control1) panahLostFocus (control1) panahEnter (control2) panah GotFocus (control2)
  • Pindahkan fokus ke catatan lain:
    SebelumPerbarui (formulir) panahAfterUpdate (formulir) panahKeluar (control2) panahLostFocus (control2) panahSaat ini (formulir)

Menghapus catatan

Saat Anda menghapus catatan, kejadian berikut akan terjadi untuk formulir tersebut, dan Microsoft Office Access menampilkan kotak dialog yang meminta Anda untuk mengonfirmasi penghapusan:

Panah hapusSebelumDelKonfirmasipanahAfterDelConfirm

Jika Anda membatalkan acara Hapus , kejadian BeforeDelConfirm dan AfterDelConfirm tidak akan terjadi, dan kotak dialog tidak ditampilkan.

Membuat catatan baru

Ketika Anda memindahkan fokus ke catatan baru (kosong) pada formulir, lalu membuat catatan baru dengan mengetik data dalam kontrol, urutan kejadian berikut akan terjadi:

Saat ini (formulir) panahEnter (kontrol) panah GotFocus (kontrol) panah SebelumSisipkan (formulir) panahAfterInsert (formulir)

Kejadian BeforeInsert (formulir) dipicu segera setelah Anda mulai mengetikkan kontrol. Kejadian AfterInsert (formulir) dipicu setelah Anda meninggalkan catatan.

Kejadian BeforeUpdate dan AfterUpdate untuk kontrol pada formulir dan untuk catatan baru terjadi setelah kejadian BeforeInsert dan sebelum kejadian AfterInsert.

Atas Halaman

Urutan acara untuk formulir dan subformulir

Peristiwa terjadi untuk formulir ketika Anda membuka atau menutup formulir, berpindah antar formulir, atau bekerja dengan data pada formulir atau subformulir.

Membuka dan menutup formulir

Saat Anda membuka formulir, urutan kejadian berikut akan terjadi untuk formulir tersebut:

Panah bukaPanah muatMengubahukuranpanahMengaktifkanpanahSaat ini

Jika tidak ada kontrol aktif pada formulir, kejadian GotFocus terjadi untuk formulir setelah kejadian Activate tetapi sebelum kejadian Saat Ini .

Saat Anda menutup formulir, urutan kejadian berikut akan terjadi untuk formulir tersebut:

Panah bongkar panahNonaktifkanpanahTutup

Jika tidak ada kontrol aktif pada formulir, kejadian LostFocus terjadi untuk formulir setelah kejadian Bongkar tetapi sebelum kejadian Nonaktifkan .

Berpindah antar formulir

Saat Anda beralih di antara dua formulir yang terbuka, kejadian Nonaktifkan terjadi untuk formulir pertama, dan kejadian Aktifkan terjadi untuk formulir kedua:

Nonaktifkan (formulir1) panahAktifkan (formulir2)

Kejadian Nonaktifkan untuk formulir juga terjadi ketika Anda beralih dari tab formulir ke tab objek lain di Access. Namun, kejadian Nonaktifkan tidak terjadi ketika Anda beralih ke kotak dialog, ke formulir yang properti PopUp-nya diatur ke Ya, atau ke jendela di program lain.

Catatan

Kejadian Terbuka tidak terjadi jika Anda memindahkan fokus ke formulir yang sudah terbuka, meskipun Anda telah memindahkan fokus ke formulir tersebut dengan melakukan tindakan OpenForm .

Bekerja dengan data di formulir

Peristiwa formulir dan kontrol terjadi saat Anda berpindah antar rekaman dalam formulir dan mengubah data. Misalnya, saat pertama kali membuka formulir, urutan kejadian berikut akan terjadi:

Buka (formulir) panahMuat (formulir) panahUbah ukuran (formulir) panahAktifkan (formulir) panahSaat ini (formulir) panahEnter (kontrol) panahGotFocus (kontrol)

Demikian pula, saat Anda menutup formulir, urutan kejadian berikut akan terjadi:

Panah keluar ( kontrol)LostFocus (kontrol) panahBongkar (formulir) panahNonaktifkan (formulir) panahTutup (formulir)

Jika Anda telah mengubah data dalam kontrol, kejadian BeforeUpdate dan AfterUpdate untuk kontrol dan formulir terjadi sebelum kejadian Keluar untuk kontrol.

Bekerja dengan subformulir

Saat Anda membuka formulir yang berisi subformulir, subformulir dan catatannya dimuat sebelum formulir utama. Dengan demikian, peristiwa untuk subform dan kontrolnya (seperti Open, Current, Enter, dan GotFocus) terjadi sebelum peristiwa untuk formulir. Namun, kejadian Aktifkan tidak terjadi untuk subformulir. Oleh karena itu, membuka formulir utama akan memicu kejadian Activate hanya untuk formulir utama.

Demikian pula, ketika Anda menutup formulir yang berisi subformulir, subformulir dan catatannya diturunkan setelah formulir. Kejadian Nonaktifkan tidak terjadi untuk subformulir. Oleh karena itu, menutup formulir utama akan memicu kejadian Nonaktifkan hanya untuk formulir utama. Peristiwa untuk kontrol, formulir, dan subbentuk terjadi dalam urutan berikut:

  1. Kejadian untuk kontrol subformulir (seperti Keluar dan LostFocus)
  2. Kejadian untuk kontrol formulir (termasuk kontrol subformulir)
  3. Kejadian untuk formulir (seperti Nonaktifkan dan Tutup)
  4. Acara untuk subformulir

Catatan

Karena kejadian untuk subformulir terjadi setelah formulir utama ditutup, kejadian tertentu, seperti membatalkan penutupan formulir utama dari acara dalam subformulir tersebut, tidak akan terjadi. Anda mungkin perlu memindahkan jenis pengujian validasi ini ke acara di formulir utama.

Atas Halaman

Urutan kejadian untuk penekanan tombol dan klik mouse

Peristiwa keyboard terjadi untuk formulir dan kontrol saat Anda menekan tombol atau mengirim penekanan tombol saat formulir atau kontrol memiliki fokus. Peristiwa mouse terjadi untuk formulir, bagian formulir, dan kontrol pada formulir ketika Anda mengklik tombol mouse saat penunjuk mouse berada pada formulir, bagian, atau kontrol. Peristiwa mouse juga terjadi saat Anda menggerakkan penunjuk mouse ke formulir, bagian, atau kontrol.

Acara keyboard

Saat Anda menekan dan melepaskan tombol saat kontrol pada formulir memiliki fokus (atau menggunakan tindakan atau pernyataan SendKeys untuk mengirim penekanan tombol), urutan kejadian berikut akan terjadi:

TombolTombolpanahbawahTekanpanahKeyUp

Saat Anda menekan dan melepaskan tombol atau mengirim penekanan tombol dalam rangkaian karakter ANSI, semua peristiwa KeyDown, KeyPress, dan KeyUp akan terjadi. Jika Anda menekan dan menahan tombol ANSI, peristiwa KeyDown dan KeyPress akan bergantian berulang kali (KeyDown, KeyPress, KeyDown, KeyPress, dan sebagainya) hingga Anda melepaskan tombol; lalu kejadian KeyUp terjadi.

Jika Anda menekan dan melepaskan tombol non-ANSI, peristiwa KeyDown dan KeyUp akan terjadi. Jika Anda menekan dan menahan kunci non-ANSI, kejadian KeyDown akan terjadi berulang kali hingga Anda melepaskan kunci, lalu kejadian KeyUp akan terjadi.

Jika menekan tombol memicu kejadian lain untuk kontrol, kejadian tersebut terjadi setelah kejadian KeyPress tetapi sebelum kejadian KeyUp . Misalnya, jika penekanan tombol mengubah teks dalam kotak teks, yang memicu kejadian Perubahan , urutan kejadian berikut akan terjadi:

KeyDownarrow KeyPressarrowUbahpanahKeyUp

Jika penekanan tombol menyebabkan fokus berpindah dari satu kontrol ke kontrol lain, kejadian KeyDown terjadi untuk kontrol pertama, sedangkan kejadian KeyPress dan KeyUp terjadi untuk kontrol kedua. Misalnya, jika Anda mengubah data dalam kontrol lalu menekan tombol TAB untuk berpindah ke kontrol berikutnya, urutan kejadian berikut akan terjadi:

  • Kontrol pertama:
    Panah KeyDownSebelumPanah PerbaruiSetelahPanahPembaruan Panah keluarLostFocus
  • Kontrol kedua:
    MasukkanpanahGotFocuspanahTombolTekanpanahKeyUp

Peristiwa mouse

Ketika Anda mengklik dan melepaskan tombol mouse saat penunjuk mouse berada pada kontrol pada formulir, urutan kejadian berikut akan terjadi untuk kontrol tersebut:

MousePanah bawahKlikmousePanah ke atas

Jika kontrol memiliki fokus dan Anda mengklik kontrol lain untuk memindahkan fokus ke kontrol kedua ini, urutan kejadian berikut akan terjadi:

  • Kontrol pertama:
    Panah keluarLostFocus
  • Kontrol kedua:
    Panah EnterPanah GotFocusMousePanah bawahMousePanah atas Klik

Jika Anda berpindah ke catatan lain lalu mengeklik kontrol, kejadian Saat Ini untuk formulir juga terjadi sebelum kejadian Enter untuk kontrol.

Mengklik dua kali kontrol akan menyebabkan kejadian Klik dan DblClick terjadi. Misalnya, ketika Anda mengeklik dua kali kontrol selain tombol perintah, urutan kejadian berikut akan terjadi untuk kontrol tersebut:

MousePanah bawahMousePanah ke atasPanahklikDblClickpanahMouseUp

Saat Anda mengeklik dua kali tombol perintah, urutan kejadian sebelumnya akan terjadi, diikuti dengan kejadian Klik kedua.

Kejadian MouseMove untuk formulir, bagian, atau kontrol terjadi ketika Anda menggerakkan penunjuk mouse ke formulir, bagian, atau kontrol. Kejadian ini tidak bergantung pada kejadian mouse lainnya.

Atas Halaman

Urutan acara untuk laporan dan bagian laporan

Peristiwa terjadi untuk bagian laporan dan laporan saat Anda membuka laporan untuk mencetak atau mempratinjaunya, atau menutup laporan.

Acara untuk laporan

Saat Anda membuka laporan untuk mencetak atau mempratinjaunya, lalu kemudian menutup laporan atau berpindah ke tab objek lain di Access, urutan kejadian berikut akan terjadi untuk laporan tersebut:

Panah bukaPanahmuatAktifkanpanahPanah tutupNonaktifkan

Saat Anda beralih di antara dua laporan terbuka, kejadian Nonaktifkan terjadi untuk laporan pertama, dan kejadian Aktifkan terjadi untuk laporan kedua:

Nonaktifkan (laporan1) panahAktifkan (laporan2)

Kejadian Nonaktifkan untuk laporan juga terjadi ketika Anda beralih dari tab laporan ke tab objek lain di Access. Namun, kejadian Nonaktifkan tidak terjadi ketika Anda beralih ke kotak dialog, ke formulir yang properti PopUp-nya diatur ke Ya, atau ke jendela di program lain.

Saat Anda membuka laporan yang didasarkan pada kueri, Access akan memicu kejadian Open untuk laporan sebelum menjalankan kueri yang mendasarinya. Akibatnya, Anda dapat mengatur kriteria laporan menggunakan makro atau prosedur kejadian yang merespons kejadian Terbuka . Misalnya, makro atau prosedur kejadian dapat membuka kotak dialog kustom tempat Anda memasukkan kriteria laporan.

Acara untuk bagian laporan

Saat Anda mencetak atau mempratinjau laporan, kejadian Format dan Cetak terjadi untuk bagian laporan setelah kejadian Buka dan Aktifkan untuk laporan dan sebelum kejadian Tutup atau Nonaktifkan laporan:

Buka (laporan) panahMuat (laporan) panahAktifkan (laporan) panahFormat (bagian laporan) panahCetak (bagian laporan) panahTutup (laporan) panahNonaktifkan (laporan)

Keamanan Anda dapat menggunakan Tampilan Laporan untuk mengaktifkan pemfilteran laporan oleh pengguna. Namun, tidak seperti Pratinjau Cetak, kejadian Format dan Cetak di bagian mana pun tidak terjadi dalam Tampilan Laporan. Hal ini juga berlaku untuk hasil fungsi VBA dan prosedur yang ditentukan pengguna yang ditampilkan dalam kontrol (seperti keterangan label, status tampilan, pemformatan bersyarat, pengubahan ukuran kontrol, dan sebagainya) dalam kejadian tersebut. Oleh karena itu, jangan gunakan kode dalam acara ini untuk memformat, menyembunyikan, atau mencetak data rahasia, yang mungkin terekspos. Sebaiknya filter data terlebih dahulu atau nonaktifkan Pratinjau Laporan dengan mengatur properti AllowReportView ke Tidak.

Selain itu, kejadian berikut dapat terjadi selama atau setelah pemformatan tetapi sebelum kejadian Cetak :

  • Peristiwa Retret terjadi ketika Access kembali ke bagian sebelumnya selama pemformatan laporan.
  • Kejadian NoData terjadi jika tidak ada catatan yang ditampilkan oleh laporan.
  • Peristiwa Page terjadi setelah pemformatan, tetapi sebelum mencetak. Anda dapat menggunakan acara ini untuk menyesuaikan tampilan laporan yang dicetak.

Atas Halaman