DOKUMANISTAN

Access Makro Kullanımı #35

Access’de makrolar yardımıyla bir dizi işlemleri ard arda yapmanızı sağlar. Genelde Makro ve Modül yazmak birbirleri ile karıştırılıyor. Makro kod yazmadan ekran üzerinden adım işlemleridir. Modül yazmak için Visual Basic Kodları ile Makro’ya alternatif kodla ayı işlemi yapmaktır.

Bu sebeple temelinde Visual Basic kodları vardır. Bu sebeple çalışma mantığı da kod gibi çalışır. Yani ilk verdiğiniz işlem yapılır ardından diğer verdiğiniz işleme geçer. Makro açmak için tıpkı raporlar formlar tablolar oluşturduğumuz gibi Oluştur Sekmesinden Makro butona basarak oluşturabilirsiniz.

Access Makro

Karşınıza aşağıdaki şekilde bir ekran gelecektir. Yeni Eylem Ekle kısmında aşağı doğru açtığınızda hazır birçok makro gelecektir. Bir veya birden fazla işlemi ard arda ekleyerek kullanabilirsiniz

Yeni Makro Kaydı

Eylem Kataloğu bölümünde ise Kategori şeklinde makrolar görülmektedir. Örneğin excel’de kullandığımız Eğer fonksiyonunu Access’de bu bölümde kullanılabilir.

Makro oluşturduğumuzda aşağıdaki şekilde Tasarım Sekmesi açılacaktır.

Makro Eylem Kataloğu Butonu

Makroları hazırladıktan sonra Çalıştır dediğinizde makro çalışacaktır. Biz Makroları herhangi Access platformundaki olaylarda kullanabiliriz. Örneğin form açıldığında istediğimiz formun açılması gibi yetkiler verebiliriz. Ya da hazırladığımız makroyu bir butona bağlayabiliriz. Butona basıldığında çalıştırırız. İhtiyacınıza göre kullanabilirsiniz.

 

Access’deki Olay (Event) Nedir?

Peki Olaylardan bahsettik ama nedir bu Olay biraz ondan bahsetmek istiyorum. Yazılımla ilgilenen kişiler bu kavrama hakimdir. Çünkü programı hazırladığınızda amacınız programı kullanacak kişilerin programı kullanırken yapması muhtemel hareketleri yön vererek daha zahmetsiz kayıt rapor gibi işlemleri yapmasını sağlamaktır. Mesela Kullanıcı Mouse ile Form’a tıkladığında bir Olay’dır. Ne zaman kullanıcı Form’da Mouse Tıklarsa bu olay içerisine istediğiniz bir dizi kod yazabilirsiniz. Ya da Kaydet Butonuba basmak bir olaydır. Butona bastığı anda kayıtdaki belirlediğiniz zorunlu verileri girmezse hata uyarısı verdirebilirsiniz. Bunun gibi.

Olaylar ise (Yazılımdaki karşılığı Event olarak geçer) Form açılığında kapandığında gibi yapılan kullanıcının yaptığı her harekette makro veya kod yazmanızı sağlıyor. Böylece hazırladığınız programı istediğiniz gibi yönlendirebilirsiniz.

Access Programında olaylar kullanıcının sürekli kullandığı Formlar ve Raporlarda Özellik Sayfasında ayrıca Olay Sekmesi vardır. Kalan diğer Tablo, Sorgu, Makro gibi işlemlerde yoktur. Çünkü bu alanları son kullanıcılar kullanmazlar. Access programı yazanlar içindir.

Özellik Sayfası Olay Sekmesi

Duruma göre Olaylar da aşağıdaki gibi kategori edebiliriz.

  • Form Sayfasındaki olaylar
  • Rapor Sayfasındaki Olaylar
  • Denetimlerdeki Olaylar

 

Form Sayfası Olayları

Aşağıdaki olaylar sadece Access formları ile ilgilidir. Daha forma birçok tasarım yapacağız. Buton, textbox gibi işlemlerin olayları farklıdır.

·         Geçerli Olduğunda
·         Yüklendiğinde
·         Tıklandığında
·         Güncelleştirme sonrasında
·         Güncelleştirme Öncesinde
·         Ekleme Öncesinde
·         Ekleme Sonrasında
·         Silme Onayı Öncesinde
·         Silindiğinde
·         Silme Onayı Sonrasında
·         Kirlide
·         Odaklandığında
·         Çift Tıklandığında
·         Fare Tuşuna Basılırken
·         Fare Tuşu Bırakılırken
·         Fare Taşıdığında
·         Tuş Bırakılırken
·         Tuşa Basılırken
·         Tuşa Basıldığında
·         Geri Alındığında
·         Açıldığında
·         Kapandığında
·         Yeniden Boyutlandığında
·         Etkinleştiğinde
·         Devreden Çıkmada
·         Kaldırıldığında
·         Hata Durumunda
·         Fare Hareket Ettiğinde
·         Filtrede
·         Filtre Uygulandığında
·         Zaman Dolduğunda
·         Sür eölçer Aralığı
·         Seçim Değiştiğinde
·         Oluşturmadan Önce
·         Son oluşturucudan Sonra
·         Oluşturmadan Sonra
·         Düzenden Sonra
·         Bağlandığında
·         Bağlantı Kesildiğinde
·         Sorgudan Önce
·         Sorguda
·         Veri Değişiminde
·         Veri Kümesi Değişimde
·         Komut Yürütüldüğünde
·         Komut Yürütülmeden Önce
·         Komut Etkinleştirildiğinde
·         Komut İşaretlendiğinde
·         Görünüm Değişimde
·         PivotTable Değiştiğinde
·         Ekran İpuçundan Önce
·         Tuş Önzileme

 

Rapor Sayfası Olayları

·         Geçerli Olduğunda
·         Yüklendiğinde
·         Veri Yokken
·         Tıklandığında
·         Odaklandığında
·         Odaklanma Sonlandığında
·         Çift Tıklandığında
·         Fare Tuşu Basılırken
·         Fare Tuşu Bırakılırken
·         Fare Taşıdığında
·         Tuş Bırakılırken
·         Tuşa Basılırken
·         Tuşa Basıldığında
·         Açıldığında
·         Kapandığında
·         Yeniden Boyutlandığında
·         Etkinleştiğinde
·         Devreden Çıkmada
·         Kaldırıldığında
·         Hata Durumunda
·         Fare Hareket Ettiğinde
·         Filtrede
·         Filtre Uygulandığında
·         Zaman Dolduğunda
·         Süre ölçer Aralığı
·         Sayfaya Gelindiğinde
·         Tuş Önizle

Form ve Rapor Denetimlerdeki Olaylar

 

Makro Buton Sekmesi

Formda ve Raporlarda aşağıdaki olaylar kullanılmaktadır. Tuşların özelliğine göre olaylar azalabilir.

·         Tıklandığında
·         Odaklandığında
·         Odaklanma Sonlandığında
·         Çift Tıklandığında
·         Fare Tuşuna Basılırken
·         Fare Tuşu Bırakılırken
·         Fare Taşınırken
·         Fare Taşındığında
·         Tuşa Basılırken
·         Tuş Bırakılırken
·         Tuşa Basıldığında
·         Girildiğinde
·         Çıkıldığında

Access Makro Örnekleri

Excelden de aşina olduğumuz makro kelimesi söylendiğinde Visual Basic ile kod yazmak aklına gelir. Ancak Access’de bu kod yazma işlemi Modül olarak bahsetmek daha doğru olur. Çünkü Access’de Makro dediğimizde Excel’deki fonksiyonlar gibi düşünebilirsiniz. En çok kullanılan veya diğer bir ifade ile Access’de ihtiyacımız olması muhtemel işlemleri kod ile hazırlanmış ve menülerle kullanılan bir araç olarak düşünmek daha doğru olacaktır.

Access’deki Makro işleminde kod bilmenize gerek yok. Sadece Access olayları iyi analiz edip Access Makroları neyi nerde kullanacağınızı bilmeniz yeterlidir.

Şimdiki bölümümüzde en çok kullanılan makrolardan bahsedeceğim. Bu örneklerle Access Makro kafanızda daha iyi oturacaktır.

Access Açıldığında Makro Oluşturmak

Yukarda bahsettiğimiz Formlar, Raporlar gibi Access nesneleri üzerindeki olaylardan bahsetmiştik. Bu örnek ise hazırlanan Accesss programı açılırken çalışan Olay’dan bahsedeceğim.

Access programı açıldığında daha önce hazırladığımız ANASAYFA formunu açalım.

Açılırken herhangi bir nesne açılmadığından bu işlemi makrolara vereceğimiz standart isimlerle belirleyeceğiz.  Verilecek Makro Adı Autoexec verildiğinde makroda yapacağınız işler Access açıldığında çalışacaktır.

Oluştur Sekmesinden Makro açıyoruz.

Yeni Eylem Ekle’den Form Aç Diyoruz.

Makro Form Aç

Sonraki adımda Form Adını Sormaktadır. Açılışta açılacak olan FORM_TABLO_MUSTERIKARTI formu seçiyoruz.

Makro Form Aç Detay

İşin püf noktasına geldik.  Makroya kaydederken Autoexec olarak kaydediyoruz.

Makro adı Belirleme Autoexec

Makro bölümünüzde dosya oluştu.

Makro Adı Autoexec

Şimdi test ettiğimizde belirlediğimiz formun açıldığını göreceksiniz.

 

GeçiciDeğişkenBelirle Makrosu ile Formdan Rapora değer gönder.

Müşteri Kartından Rapor Al Adında bir düğme oluşturuyoruz.

Rapor Al Butonu

Olay Kısmında Tıklandığında olayına seçiyoruz.

Tıklandığında Olayı

Makro Oluşturucusu Seçiyoruz.

Makro Oluşturucu

Boş makro ekranı gelecektir.  Eylem Kataloğundan Makro Komutları altında GeçiciDeğişkenBelirle alanını çift tıklayarak makro kısmına getiriyoruz.

Eylem Kataloğu

Vereceğimi değişkeni istediğimiz yerde kullanabiliriz. Ad kısmına tmpMusteriNo ismini veriyoruz.

İfade kısmına iste Müşteri Kartı formundaki hangi değeri almak istiyorsak o değeri giriyoruz.

Müşteri Numarasını almak istiyorum. FORM_MUSTERI’DEN Müşteri Numarası ID alanıı seçiyorum. Özellikler Sayfasındaki Ad alanında belirlediğimiz ismi txtMusteriNo kopyalıyoruz.

Form Adı txtMusteriNo

Makro’daki İfade kısmına [txtMusteriNo] şeklinde ekliyoruz.

Form Tıklandığında Geçici Değişken Belirle

Artık tmpMusteriNo alanını kullandığımız yerde formda açık olan müşteri ID alanını kullanana bileceğiz.

Makroda işlemimiz bitmedi. İlk işlem değişken belirlemesinden sonra Rapor Aç ekranı ile daha önce tasarladığımız Müşteri ve Satış tablosunun bağlı olduğu Rapor gelecek.

Bunun için Rapor Aç Makrosunu çağırıyorum.

Rapor Adına daha önce tasarladığım RAPOR_MUSTERI tablosunu seçiyorum.

Görünüm Rapor şeklinde açılsın istiyorum. Eğer bunu seçmezsem Tasarım görünümünde de seçiyorum.

Rapor Aç Detayı

Rapor Kısmı

Hazırladığımız RAPOR_MÜŞTERİ’de aşağıdaki şekildedir.

Rapor Müşteri Makro Atama

Raporun veri kaynağı SORGU_SATIS tablosudur.

Özellik Kayıt Kaynağı SORGU SATIŞ

Sorgu Kısmı

Sorgu Satış Tablosunu aşağıdaki şekilde MÜŞTERİ ve SATIŞ tabloları alanlarından Raporda göstereceğimiz alanları seçtim. En başta ID alanına belirlediğim değişkeni kullanarak sadece istediğim ID’li verileri getirmek istiyorum.

Sorgu Satış Tablo İlişkisi

Bunun için Ölçüt Kısmına

[GeçiciDeğişkenler]![tmpMusteriNo]

şeklinde yazıyoruz.

Sorgu Ölçüt Değişken Belirleme

Daha önce Formdan Geçici Değişkenle aldığımız Müşteri ID alanını Şimdi Sorgular Kısmında kullanmış oluyorum. Sorgu’da Raporlara bağlı olduğu için Rapor Al tuşuna bastığımda istediğim kaydı listelemiş olacağım.

Müşteri Borç Bilgileri Ekranı

 

Böylece 34 Makale ile Access Eğitimi tamamlamış olduk. Beni sabırla takip ettiğiniz için çok teşekkür ederim.

ACCESS EĞİTİMİ BİTTİ 🙂

Yorum yapın