MAKROLAR
Ders sonunda yapabilecekleriniz: -Makroların kullanım amaçlarını
açıklamak. -Bir makro tasarlamak. -Makroları çalıştırmak. I.
MAKROLAR
Veritabanı yöneticisi, form
üzerindeki bir alan için, boş geçilmemesi ya da girilen kodu alanına en fazla
6 karakter girilmesini, eğer aşılırsa "6 karakterden fazla girilemez
!!" mesajı verilmesini istemektedir. Bu işlem için form üzerinde ve o
alan için bir makro yazmak gerekir. Makro bir alt yordam gibi çalışır. Peki
makroyu kim, nasıl harekete geçirecek? Bu işlem için olaylar (events)
kullanılır. Örneğin form üzerinde kodu alanından çıkış için OnExit olayı
kullanılır. Yazılan makronun makro
penceresindeki görünümü: Condition Action Len ([kodu]) > 6 MsgBox ... CancelEvent Türkçesi: Koşul Eylem Len ([kodu]) > 6 İletiKutusu ... OlayıİptalEt Yukarıdaki makro şu şekilde
kullanılır: Formun tasarım görünümünde kodu
alanının üzerinde sağ tıklayarak Build Event menüsünden Macro Builder (Makro
Oluştur) seçilerek Macro penceresi açılır. Buradaki sütunlara yukarıdaki
makro girilir. Bu arada Condition sütununu eklemek için Macro penceresinde
Conditions (Koşullar) düğmesi tıklanır. Yukarıdaki örnek ve içerik,
makroların yalnızca bir tür kullanımını gösterir. Bunun dışında ana menü
formlarında ve uygulama geliştirmek için bazı işlemlerin yapılmasında
kullanılır. A.
MAKROLAR NE İŞE YARAR?
Hemen belirtmek istiyorum; Access
makroları, Excel makroları gibi yalnızca bir grup işlemi otomatikleştirmek
için kullanılmaz. Özellikle formlar eklenmesinde bir dizi ek işlemin özel
makro komutlarıyla (actions) yapılmasını sağlar. Makrolar standart işlemlerin
(action/eylem) belli olaylara (düğmeye basmak, formu açmak gibi) bağlı olarak
belli işlemlerin yapılmasını sağlar. Menü formlarınını kullanımı, özel bir
hesaplama, veri girişini denetimi,
bir raporun bastırılması, bir formun açılıp kapatılması gibi işlemler
özellikle makrolar tarafından yapılırlar. B.
MAKROLARIN KULLANIM AMAÇLARI
Makrolar sıradan işleri otomatik
olarak yapmanın yanı sıra, veritabanı içinde nesneler arasındaki birtakım
işlemlerin otomatik olarak yapılmasını sağlar. Makroların kullanım amaçları: -Form İşlemleri: Bir formdan
diğer bir formu çağırmak ya da bir formu kapatmak vb. form işlemleri otomatik
olarak yapmak için kullanılır. Özelikle menü yönetimi. -Arama, filtreleme vb. işlemleri
daha hızlı yapmak için kullanılır. -İlgili denetimlerin değerlerinin
otomatik olarak bağlanması; bir forma girilen bir alanın ardından ilgili
(ilişkili) diğer bir formun ilgili alanları otomatik olarak çağırılır ve form
üzerindeki denetimlere yerleştirilir. -Girilen verilerin denetiminde
kullanılır. Belli alanlara girilen verilerin belli özelliklerde olması
gerekir. Bu özelliklerin veritabanındaki ilgili tablolarda taranarak denetim
edilmesi gerekir. Bu durumda makrolar çok
kullanılan araçlardır. -Form ve raporlara belli
özellikleri kazandırmak için. -Uygulamalar arasında veri
transferi yapmak için. -Bir veritabanı açıldığında
ilgili tabloları, sorguları vb. nesneleri açmak ve ilk işlemleri yapmak için
kullanılır. C.
BİR MAKRO YARATMAK
Makrolar Access veritabanının bir
parçasıdır. Veritabanının makro bölümünde yer alırlar. Bir makro yaratmak
için Veritabanı penceresinde Macros (Makrolar) bölümüne geçilir ve New (Yeni)
düğmesine basılır. Ardından makro işlemlerinin
yazılacağı ve özelliklerinin düzenleneceği boş bir makro penceresi (macro
window) açılır. Makro içinde yapılacak temel
işlemler Action olarak belirtilirler. Access belli işlevlere sahip çok sayıda
işlemi (action) içerir. Comment bölümünde ise işlem hakkında açıklama
yazılır. Şekil 34-1: Makro Tasarımı D.
İŞLEMLERİN DÜZENLENMESİ
Bir makroyu hazırlama; ilgili
işlemlerin (action) seçilmesiyle başlar. Makro penceresinde bir makroya bir
işlemin eklenmesi iki şekilde yapılabilir. Birinci yöntemde; işlemler işlem
(Action) listesinden seçilerek eklenir. Tablo : Makro işlemleri listesi İşlem (Action/Eylem)
Açıklama Kategori Close (Kapat) Nesneyi kapatır. Nesne İşlemleri OpenForm (FormAç) Nesneyi açar. " OpenModule (Modülaç) Nesneyi açar. " OpenQuery (Sorguaç) Nesneyi açar. " OpenReport (Raporaç) Nesneyi açar. " OpenTable (TabloAç) Nesneyi açar. " Print (Yazdır) Nesneyi
bastırır. " SetValue (DeğerAta) Bir kontrol, alan ya da
özelliğin değerini düzenler. " ShowAllRecords
(TümünüGöster) " " SelectObject (NesneSeç) Nesneyi seçer. " CopyObject (NesneKopyala) Nesneyi kopyalar. " Rename (YenidenAdlandır) Nesnenin adını değiştirir. " DeleteObject (NesneSil) Nesneyi siler. " Maximize (EkranıKapla) Pencere işlemleri. " Minimize
(SimgeDurumunaKüçült) " " MoveSize (TaşıBoyutlandır) " " Restore (GeriYükle) " " ApplyFilter (SüzgeciUygula) Veri kısıtlama Form ve raporlardaki veriler. FindNext (SonrakiniBul) Veri üzerinde
hareket " FindRecord (KaydıBul) " " GoToControl (DenetimeGit) " " GoToPage (SayfayaGit) " " GoToRecord (KaydaGit) " " DoMenuItem (MenüÖğesiAta) Komutu
çalıştırır. Çalıştırma OpenQuery (SorguAç) Sorguyu
çalıştırır. " RunCode (KodÇalıştır) Procedure'ı
çalıştırır.. " RunMacro (MakroÇalıştır) Makroyu çalıştırır.. " RunSQL (SQLÇalıştır) SQL komutu
çalıştırır. " RunApp (UygulamaÇalıştır) Diğer bir uygulamayı çalıştırır. " CancelEvent (OlayıİptalEt) Çalıştırmayı durdurur. " Quit (Çıkış) " " StopMacro (MakroDurdur) " " StopAllMacros
(TümMakrolarıDurdur)
" " TransferDatabase
(VeritabanıAktar) Access ile
başka bir uygulama arasında veri taransferi. Alma/Gönderme TransferText (MetinAktar) " " OutputTo (Çıktı) Access
nesnesini diğer bir uygulamaya gönderme. " SendObject (NesneGönder) " " Echo (Yankı) Bilgi
verme Diğer Hourglass (KumSaati) " " MsgBox (İletiKutusu) " " SetWarnings (UyarıBelirle) " " ShowToolBar (AraçÇubuğuGöster) Araç Çubuğunu gösterir/gizler " SendKey (TuşGönder) Tuş okuma " Beep (Bip) Ses çıkarır " AddMenu (MenüEkle) Araç çubuğu yaratır. " E.
MAKRONUN ÇALIŞTIRILMASI
Bir makro yaratıldıktan sonra; makro
penceresinden, veritabanı penceresinden, formlar üzerinden ya da diğer
bir makrodan olmak üzere değişik
biçimlerde çalıştırılabilir. Ancak program geliştirme açısından bir makro
form üzerindeki düğmelere ya da form kullanımında oluşan bir olaya (event)
bağlı olarak çalıştırılır. Bir makronun bir form üzerindeki
bir komut düğmesine basılarak çalıştırılması için form üzerindeki düğmenin
olay özellikleri kullanılır. Düğmenin üzerinde fare ile tıklanınca click
olayı oluşur. Bu nedenle düğmenin üzerine fareyle tıklanarak yapılması
gereken işlemler bir makro olarak yazılır. F.
FORM ÜZERİNDE BİR KOMUT DÜĞMESİNE BAĞLI MAKRO YARATMAK
Form üzerine bir komut düğmesi
(command button) yaratıp ve komut düğmesine tıklanarak ona bağlı bir makronun
çalıştırılmasını sağlamak yaygın kullanılan bir tekniktir. Düğmeye basılarak
bir form açılabilir, bir form kapatılabilir, bir kayıt silinebilir, kayıt ile
ilgili diğer bir form açılır vb. işler yapılabilir. Bir komut düğmesine ya da bir denetime
bir makronun bağlanması için değişik yollar seçilebilir. Bunlardan en kolay
olanı Komut Sihirbazını (Command Wizards) kullanmaktır. Yaratılan boş bir form üzerinde
(tasarım görünümünde) Toolbox düğmesini kullanarak ekrana gelen araçlardan
Control Wizards'ın basılı olduğunu kontrol edin. Ardından bir Command Button
(komut düğmesi) denetimini form üzerine atın. Bu durumda bu düğme ile
yapılacak bütün işlemler ekrana gelir. Bu düğme ile form açmak, kapatmak
ya da printer işlemleri gibi işlemler yapılır. G.
BİR FORMUN ANA MENÜ YAPILMASI
Tasarlanan boş bir form üzerine,
diğer formları açmak için yerleştirilen komut düğmelerinin ardından formun
ana menü yapılması için, önce form bir ad verilerek kaydedilir. Ardından
Tools (Araçlar) menüsünden Startup (Başlangıç) seçeneği seçilir. Ardından
Display Form kutusunda yaratılan form belirtilir. UYGULAMALAR
Bir ana menü formu yaratın: Veritabanı üzerinde boş bir form
(design view) yaratın. Ardından bu formu üzerinde birkaç tane Command Button
yaratın ve formu ana menü adıyla kaydedin. NOT: Ancak bu durumda Control
Wizards'ın açık olduğuna dikkat edin. Ardından bu düğmelere
tıkladığında çalışmak üzere veritabanın diğer formlarının açılmasını
sağlayın. Bu işlemin devamı olarak açılan
formlarda ise bir düğme yaratarak tıklayınca formun kapanmasını (Close)
sağlayın. Bu düzenleme ile bir menü üzerinde; bir düğmeye tıklanarak açılan
bir form, kullanıldıktan sonra üzerindeki bir düğmeye tıklanarak kapanır. Form üzerinde bir alanın boş
geçilmesini ekleyen bir makro yazın Form üzerinde kodu ya da adı gibi
bir alanından çıkış olayını OnExit kullanın. Şöyle bir makro yazın: Koşul Eylem [kodu] IsNull
İleti Kutusu ... OlayıİptalEt Yukarıdaki makro şu şekilde
kullanılır: Formun tasarım görünümünde kodu
ya da adı alanının üzerinde sağ tıklayarak Build Event (Olay Oluştur)
menüsünden Macro Builder (Makro Oluştur) seçilerek Macro penceresi açılır.
Buradaki sütunlara yukarıdaki makro girilir. Bu arada Condition sütununu
eklemek için Macro penceresinde Conditions düğmesi tıklanır. GÖZDEN
GEÇİRME
1. Makrolar bir Access
geliştiricisine neler sağlar? Microsoft
Access'te bir makro yaratmanın yolları nelerdir? Sizce en kısa yol
hangisidir? 2. Olay (event) nedir? Örnek
verin. 3. Form üzerinde oluşan bir olayı
açıklayın? |