Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Tek bir eylem, örneğin nesnede bir denetimden başka bir denetime geçme eylemi belirli bir sırada gerçekleşen birkaç farklı olayı tetikleyebilir. Olayların ne zaman ve hangi sırayla gerçekleştiğini bilmek önemlidir, çünkü bu makrolarınızın ve olay yordamlarınızın nasıl ve ne zaman çalıştırılacağını etkileyebilir. Örneğin, belirli bir sırada çalıştırılması gereken iki olay yordamı varsa, bunların ilişkilendirildiği olayların aynı sırada gerçekleştiğinden emin olmak istersiniz.

Bu makalede

Formlardaki denetimler için olayların sırası

Odağı bir denetime taşıdığınızda ve denetimdeki verileri değiştirdiğinizde ve güncelleştirdiğinizde, formlardaki denetimler için olaylar gerçekleştir.

Not: Microsoft Office Access, Visual Basic Düzenleyicisi'nde olay adlarını özellik sayfasında ve Makro Oluşturucusu'nda gösterdiğinden biraz farklı gösterir. Örneğin, formun özellik sayfasında ve Makro Oluşturucusu'nda Odaklanıldığında adlı olay, Visual Basic Düzenleyicisi'nde GotFocus olarak adlandırılır. Bu makaledeki örneklerde olay adları için Visual Basic for Applications (VBA) biçimi kullanılmıştır.

Odağı bir denetime taşıma

Odağı formdaki bir denetime taşıdığınızda (örneğin, bir veya birden çok etkin denetim içeren bir formu açarak veya odağı aynı formda başka bir denetime taşıyarak), Enter ve GotFocus olayları şu sırayla gerçekleşir:

okGotFocus girin

Formu açtığınızda, form açma işlemiyle ilişkilendirilmiş olaylardan (Open, Activate ve Current gibi) sonra Enter ve GotFocus olayları şu şekilde gerçekleşir:

Enter (denetim) okGotFocus (denetim) okGeçerli (form) okEtkinleştir(form) ok (form)

Odak formdaki bir denetimden ayrıldığında (örneğin, bir veya birden çok etkin denetim içeren bir formu kapattığınızda veya aynı form üzerinde başka bir denetime geçtiğinizde, Exit ve LostFocus olayları şu sırayla gerçekleşir:

LostFocus ok dan çık

Formu kapattığınızda, form kapatma işlemiyle ilişkilendirilmiş olaylardan (Unload, Deactivate ve Close gibi) sonra Exit ve LostFocus olayları şu şekilde gerçekleşir:

LostFocus(denetim) okçık (denetim) okKaldır (form) okDevre Dışı Bırak (form) okKapat (form)

Denetimdeki verileri değiştirme ve güncelleştirme

Formdaki bir denetime veri girdiğinizde veya verilerini değiştirdiğinizde ve ardından odağı başka bir denetime taşıdığınızda, BeforeUpdate ve AfterUpdate olayları gerçekleşir:

BeforeUpdate ok Afte rUpdate

BeforeUpdate ve AfterUpdate olaylarından sonra, değeri değişen denetim için Exit ve LostFocus olayları gerçekleşir:

BeforeUpdate ok AfterUpdate ok LostFocus ok Çık

Metin kutusundaki veya birleşik giriş kutusunun metin kutusu bölümündeki metni değiştirdiğinizde, Change olayı gerçekleşir. Denetimin içeri her değiştiğinde, ama siz odağı farklı bir denetim veya kayda taşımadan önce (dolayısıyla, BeforeUpdate ve AfterUpdate olayları gerçekleşmeden önce) bu olay gerçekleşir. Metin kutusunda veya birleşik giriş kutusunun metin kutusu bölümünde bastığınız her tuş için aşağıdaki olay sırası gerçekleşir:

KeyDown ok KeyPress ok Kirli ok Değiştirme ok KeyUp

Birleşik giriş kutusuna birleşik giriş kutusu listesinde bulunmayan bir değer girdiğinizde ve ardından odağı başka bir denetime veya kayda taşımaya çalıştığınızda, NotInList olayı gerçekleşir. NotInList olayı, klavye olaylarından ve birleşik giriş kutusu için Change olaylarından sonra ancak diğer herhangi bir denetim veya formun olaylarından önce gerçekleşir. Birleşik giriş kutusunun LimitToList özelliği Yes olarak ayarlandıysa, formun Error olayı, NotInList olayından hemen sonra gerçekleşir:

KeyDown ok KeyPress ok Kirli ok Değiştirme ok KeyUp ok NotInList 0 Hatası

Sayfanın Başı

Formlardaki kayıtlar için olayların sırası

Formlardaki kayıtların olayları, odağı başka bir kayda taşıdığınızda, kayıttaki verileri güncelleştirdiğinizde, var olan kaydı veya kayıtları sildiğinizde ya da yeni kayıt oluşturduğunuzda gerçekleşir.

Odağı kayıtlara taşıma ve kayıtlardaki verileri güncelleştirme

Odağı formda var olan bir kayda taşıdığınızda, kayıtta verileri girdiğinizde veya değiştirdiğinizde ve ardından odağı başka bir kayda taşıdığınızda, form için aşağıdaki olay dizisi gerçekleşir:

Geçerli (form) okBeforeUpdate (form) okAfterUpdate (form) okCurrent (form)

Verileri değiştirilmiş olan kayıttan çıktığınızda ama bir sonraki kayda girmeden önce, odağın bulunduğu denetim için Exit ve LostFocus olayları gerçekleşir. Bu olaylar, form için BeforeUpdate ve AfterUpdate olaylarından sonra aşağıdaki gibi gerçekleşir:

BeforeUpdate (form) okAfterUpdate (form) okExit (denetim) okLostFocus (denetim) okCurrent (form)

Siz odağı formdaki denetimler arasında taşırken, her denetim için olaylar gerçekleşir. Örneğin, aşağıdakileri yaptığınızda şu olay dizisi gerçekleşir:

  • Formu açma ve denetimdeki verileri değiştirme:

    Geçerli (form) okEnter (denetim) okGotFocus (denetim) okBeforeUpdate (denetim) okAfterUpdate (denetim)

  • Odağı başka bir denetime taşıma:

    Exit (control1) okLostFocus (control1) okEnter (control2) okGotFocus (control2)

  • Odağı başka bir kayda taşıma:

    BeforeUpdate (form) okAfterUpdate (form) okÇıkış (denetim2) okLostFocus (control2) okCurrent (form)

Kayıtları silme

Kaydı sildiğinizde form için aşağıdaki olaylar gerçekleşir ve Microsoft Office Access silme işlemini onaylamanızı isteyen bir iletişim kutusu görüntüler:

BeforeDelConfirm ok AfterDelConfirm ok Silme

Delete olayını iptal ederseniz, BeforeDelConfirm ve AfterDelConfirm olayları gerçekleşmez ve iletişim kutusu görüntülenmez.

Yeni kayıt oluşturma

Odağı form üzerinde yeni (boş) bir kayda taşıdığınızda ve ardından bir denetime veri yazarak yeni kayıt oluşturduğunuzda, aşağıdaki olay dizisi gerçekleşir:

Geçerli (form) okEnter (denetim) okGotFocus (denetim) okBeforeInsert (form) okAfterInsert (form)

BeforeInsert (form) olayı, denetime yazmaya başladığınızda tetikler. AfterInsert (form) olayı, kayıttan ayrıldıktan sonra tetikler.

BeforeInsert olayından sonra ve AfterInsert olayından önce, formdaki denetimler için ve yeni kayıt için BeforeUpdate ve AfterUpdate olayları gerçekleşir.

Sayfanın Başı

Formlar ve alt formlar için olayların sırası

Bir formu açtığınızda veya kapattığınızda, formlar arasında geçiş yaptığınızda ya da formdaki veya alt formdaki verilerle çalıştığınızda, formlar için olaylar gerçekleşir.

Formu açma ve kapatma

Formu açtığınızda, form için aşağıdaki olay dizisi gerçekleştir:

Geçerli ok Etkinleştirme ok Yeniden Boyutlandırmak ok okYüklemesini Açma

Form üzerinde hiç etkin denetim yoksa, Activate olayından sonra ama Current olayından önce form için GotFocus olayı gerçekleşir.

Formu kapattığınızda, form için aşağıdaki olay dizisi gerçekleştir:

Kapatma ok Kaldırma ok Devre Dışı Bırakma

Form üzerinde hiç etkin denetim yoksa, Unload olayından sonra ama Deactivate olayından önce form için LostFocus olayı gerçekleşir.

Formlar arasında geçiş yapma

İki form arasında geçiş yaptığınızda, ilk form için Deactivate olayı ve ikinci form için de Activate olayı gerçekleşir:

Devre Dışı Bırak (form1) okEtkinleştir (form2)

Formdan Access'teki başka bir nesne sekmesine geçtiğinizde de form için Deactivate olayı gerçekleşir. Öte yandan, bir iletişim kutusuna, PopUp özelliği Yes olarak ayarlanmış bir forma veya başka bir programın penceresine geçtiğinizde, Deactivate olayı gerçekleşmez.

Not:  Odağı zaten açık olan bir forma taşırsanız, odağı bu forma taşırken OpenForm eylemini kullanmış olsanız bile, Open olayı gerçekleşmez.

Formdaki verilerle çalışma

Formdaki kayıtlar arasında geçiş yaptığınızda ve verileri değiştirdiğinizde, form ve denetim olayları gerçekleşir. Örneğin, formu ilk kez açtığınızda aşağıdaki olay dizisi gerçekleştir:

(form) okYükle (form) okYeniden Boyutlandırma (form) okEtkin (form) okGeçerli (form) okEnter (denetim)0 GotFocus (denetim)

Benzer şekilde, formu kapattığınızda aşağıdaki olay dizisi gerçekleştir:

Çıkış (denetim) okLostFocus (denetim) okKaldır (form) okDevre Dışı Bırak (form) okKapat (form)

Denetimdeki verileri değiştirdiyseniz, denetim için Exit olayından önce hem denetim hem de form için BeforeUpdate ve AfterUpdate olayları gerçekleşir.

Alt formlarla çalışma

Alt form içeren bir formu açtığınızda, ana formdan önce alt form ve onun kayıtları yüklenir. Dolayısıyla, alt form ve onun denetimleri için olaylar (Open, Current, Enter ve GotFocus gibi), form için olan olaylardan önce gerçekleşir. Öte yandan, alt formlar için Activate olayı gerçekleşmez. Bu nedenle, ana formun açılması yalnızca ana form için Activate olayını tetikler.

Benzer biçimde, alt form içeren bir formu kapattığınızda, alt form ve onun kayıtlarının yüklemesi, ana formdan sonra kaldırılır. Alt formlar için Deactivate olayı gerçekleşmez. Bu nedenle, ana formun kapatılması yalnızca ana form için Deactivate olayını tetikler. Denetimler, form ve alt form için olaylar şu sırada gerçekleşir:

  1. Alt formun denetimleri için olaylar (Exit ve LostFocus gibi)

  2. Formun denetimleri için olaylar (alt form denetimi de içinde)

  3. Form için olaylar (Deactivate ve Close gibi)

  4. Alt form için olaylar

Not: Alt form için olaylar ana form kapatıldıktan sonra gerçekleştiğinden, bir alt form olayından ana formu kapatma işlemini iptal etme gibi bazı olaylar gerçekleşmez. Bu tür doğrulama testlerini ana formdaki bir olaya taşımanız gerekir.

Sayfanın Başı

Tuş vuruşları ve fare tıklamaları için olayların sırası

Odak formda veya denetimdeyken tuşlara bastığınızda veya tuş vuruşları gönderdiğinizde klavye olayları gerçekleşir. Fare işaretçisi bir form, bölüm veya denetimdeyken fare düğmelerine tıkladığınızda, formlar, form bölümleri ve denetimler için fare olayları gerçekleşir. Fare işaretçisini form, bölüm veya denetim üzerinde taşıdığınızda da fare olayları gerçekleşir.

Klavye olayları

Odak formdaki bir denetimin üzerindeyken bir tuşa basıp bırakırsanız (veya tuş vuruşu göndermek için SendKeys eylemi veya deyim kullanırsanız), aşağıdaki olay dizisi gerçekleşir:

KeyDown ok KeyPress ok KeyUp

ANSI karakter kümesinde bir tuşa basıp bıraktığınızda veya bir tuş vuruşu gönderdiğinizde, KeyDown, KeyPress ve KeyUp olaylarının tümü gerçekleşir. Bir ANSI tuşuna basıp basılı tutarsanız, siz tuşu bırakana kadar birbiri ardından KeyDown ve KeyPress olayları tekrar tekrar gerçekleşir (KeyDown, KeyPress, KeyDown, KeyPress, vb.); sonra da KeyUp olayı gerçekleşir.

ANSI dışında bir tuşa basıp bırakırsanız, KeyDown ve KeyUp olayları gerçekleşir. ANSI dışında bir tuşa basıp basılı tutarsanız, siz tuşu bırakana kadar tekrar tekrar KeyDown olayı gerçekleşir ve sonra da KeyUp olayı gerçekleşir.

Bir tuşa basılması denetim için başka bir olayı tetikliyorsa, söz konusu olay KeyPress olayından sonra ama KeyUp olayından önce gerçekleşir. Örneğin, bir tuş vuruşu metin kutusundaki metni değiştiriyorsa, yani Change olayını tetikliyorsa, aşağıdaki olay dizisi gerçekleşir:

KeyDown ok KeyPress ok KeyUp ok Değiştir

Tuş vuruşu odağın bir denetimden başka bir denetime geçmesine neden oluyorsa, ilk denetim için KeyDown olayı oluşurken ikinci denetim için KeyPress ve KeyUp olayları gerçekleşir. Örneğin, denetimdeki verileri değiştirir ve ardından SEKME tuşuna basarak bir sonraki denetime geçerseniz, aşağıdaki olay dizisi gerçekleşir:

  • İlk denetim:

    KeyDown ok BeforeUpdate ok AfterUpdate ok Exit ok LostFocus

  • İkinci denetim:

    KeyPress ok KeyUp ok okGotFocus girin

Fare olayları

Fare işaretçisi bir denetim veya formun üzerindeyken fare düğmesine tıklayıp bıraktığınızda, denetim için aşağıdaki olay dizisi gerçekleşir:

MouseDown ok MouseUp ok Tıklayın

Odak denetimdeyse ve odağı başka bir denetime taşımak için bu ikinci denetime tıklarsanız, aşağıdaki olay dizisi gerçekleşir:

  • İlk denetim:

    LostFocus ok dan çık

  • İkinci denetim:

    ok GotFocus ok MouseDown ok MouseUp girin ok Tıklayın

Başka bir kayda geçer ve sonra bir denetime tıklarsanız, denetim için Enter olayından önce form için Current olayı da gerçekleşir.

Denetime çift tıklamak, hem Click hem de DblClick olaylarının gerçekleşmesine neden olur. Örneğin komut düğmesi dışında bir denetime çift tıkladığınızda, denetim için aşağıdaki olay dizisi gerçekleşir:

MouseD kendi ok MouseUp ok ok'a tıklayın MouseUp ok DblClick

Komut düğmesine çift tıkladığınızda, önceki olay dizisi gerçekleşir ve bunu ikinci bir Click olayı izler.

Fare işaretçisini form, bölüm veya denetim üzerinde hareket ettirdiğinizde, form, bölüm veya denetim için MouseMove olayı gerçekleşir. Bu olay, diğer fare olaylarından bağımsızdır.

Sayfanın Başı

Raporlar ve rapor bölümleri için olayların sırası

Raporu yazdırmak veya önizlemek için açtığınızda ya da raporu kapattığınızda, raporlar ve rapor bölümleri için olaylar gerçekleşir.

Raporlar için olaylar

Yazdırmak veya önizlemek üzere bir raporu açtığınızda ve daha sonra raporu kapattığınızda veya Access'te başka bir nesne sekmesine geçtiğinizde, rapor için aşağıdaki olay dizisi gerçekleşir:

Açma ok Etkinleştir ok Kapat ok Devre Dışı Bırak

İki açık rapor arasında geçiş yaptığınızda, ilk rapor için Deactivate olayı ve ikinci rapor için de Activate olayı gerçekleşir:

Devre Dışı Bırak (rapor1) okEtkinleştir (rapor2)

Rapordan Access'teki başka bir nesne sekmesine geçtiğinizde de rapor için Deactivate olayı gerçekleşir. Öte yandan, bir iletişim kutusuna, PopUp özelliği Yes olarak ayarlanmış bir forma veya başka bir programın penceresine geçtiğinizde, Deactivate olayı gerçekleşmez.

Sorguyu temel alan bir raporu açtığınızda, Access temel sorguyu çalıştırmadan önce rapor için Open olayını tetikler. Sonuç olarak, Open olayını yanıtlayan bir makro veya olay yordamı kullanarak raporun ölçütlerini ayarlayabilirsiniz. Örneğin makro veya olay yordamı, rapor ölçütlerini girebileceğiniz özel bir iletişim kutusu açabilir.

Rapor bölümleri için olaylar

Raporu yazdırdığınızda veya önizlediğinizde, rapor için Open ve Activate olayları gerçekleştikten sonra ama Close veya Deactivate olayları gerçekleşmeden önce, rapor bölümleri için Format ve Print olayları gerçekleşir:

Etkinleştir (rapor) okEtkinleştir (rapor) okBiçimi (rapor bölümü) okYazdır (rapor bölümü) okKapat (rapor) okDevre Dışı Bırak (rapor)

Güvenlik    Raporların kullanıcı filtrelemesini etkinleştirmek için Rapor Görünümü'nü kullanabilirsiniz. Ancak Baskı Önizleme'nin aksine, herhangi bir bölümdeki Biçim ve Yazdırma olayları Rapor Görünümü'nde gerçekleşmez. Bu durum, bu olaylar içindeki denetimlerde (etiket resim yazıları, görüntüleme durumu, koşullu biçimlendirme, denetimlerin yeniden boyutlandırılması vb.) görüntülenen VBA işlev sonuçları ve kullanıcı tanımlı yordamlar için de geçerlidir. Bu nedenle, bu olaydaki kodu gizli verileri biçimlendirmek, gizlemek veya yazdırmak için kullanmayın; bu veriler açığa çıkabilir. AllowReportView özelliğini Hayır olarak ayarlayarak verileri önceden filtrelemenizi veya Rapor Önizlemesini devre dışı bırakmanızı öneririz.

Buna ek olarak, biçimlendirme sırasında veya sonrasında ama Print olayından önce aşağıdaki olaylar gerçekleşir:

  • Rapor biçimlendirmesi sırasında Access önceki bir bölüme döndüğünde Retreat olayı gerçekleşir.

  • Rapor tarafından görüntülenen kayıt yoksa NoData olayı gerçekleşir.

  • Biçimlendirme sonrasında ama yazdırma öncesinde Page olayı gerçekleşir. Yazdırılan raporun görünümünü özelleştirmek için bu olayı kullanabilirsiniz.

Sayfanın Başı

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×