MS ACCESS VE VBA PROGRAMLAMA DERSLERİ-01
ARAYÜZ VE KONTROL MENÜLERİ
MS Access, Office altında bulunan Word, Excel benzeri uygulama
programlarından birisidir. Birçoğumuz Bilgisayarında bulunduğunun farkında bile
olmasa da oldukça yararlı, kullanışlı, Ara yüzü basit ve geliştirme maliyeti
düşüktür.
Kullanıcı Ara yüzünü (UI) ve Veri Tabanını (DB) bir bütün halinde sunabilen
arka planda sağladığı kodlama imkânı ile Profesyonel seviyede uygulamalar
geliştirmenize imkân tanıyan en önemlisi birçok şirkette çalışanların elinin
altında hazırda bulunan güzel bir programdır.
Tüm bu yararlarına oranla kullanım oranı umulanın altındadır. Bunun sebebi
olarak da kullanıcının programı yeterince anlayıp, değerlendirememesi
gösterilebilir.
Access 2013 Programına ait açılış ekranı aşağıda görüldüğü gibidir.
Programın Ara yüzünde kullanılan sürümden kaynaklı bazı görünüm farklılıkları
mutlaka olacaktır. Office2010 kullananlar, 2007 ya da 13 kullananlar için bir
takım görünüm farklılıkları olsa da genel anlamda işlevler, mantık aynıdır.
Anlatımımız boyunca Office 2013 kullanacağımızı şimdiden bildirmekte yarar var.
Öncelikle Programın Ara yüzünü ve menülerini tanıyalım;
GİRİŞ: Giriş Menüsü Diğer Ofis Programlarından bildiğimiz, Kopyala,
Yapıştır, Ya da Biçimsel Düzenlemeleri içeren kontrollerden oluşur. Yazının
Rengi, Yazının Boyutu, Yazının Büyüklüğü gibi özellikler buradan
ayarlanabilmektedir.
Kontrol kümelerinin altında ne amaçla orada oldukları belirtilmektedir.
Örneğin Yukarıdaki resimde 2 numara ile gösterilen kısım bahsi geçen ayarları
yani METİN BİÇİMLENDİRMESİ ayarlarını içermektedir. Diğer ofis programlarında
da olan özellikleridir. SIRALA VE FILTRE UYGULA şeklinde 3 numara ile
gösterilen kısım verileri sıralamak ya da filtrelemek için kullanılmaktadır.
Birçok kaydın bulunduğu bir kolonda Verileri Örneğin A-Z ye sıralayarak
görüntülemek istersek kullanacağımız araçları buradan bulabiliriz.
Bu arada kolon demişken hemen belirtelim Access de veriler Excel'e benzer
bir görünümde Satır ve Sütunlar şeklinde Tablolar ‘da saklanmaktadır. Yani bir
çeşit veri matrisi oluşmaktadır. Tablolar ve Tablolar arasındaki ilişkiler
Access'in temellerini oluşturan konulardır. Dolayısı ile Satır ve Sütun
işlemleri ile ilerleyen bölümlerde fazlaca ilgili olacağız.
Bir farklılık olarak bu menüde Görünüm Diye bir Kontrol Menüsü vardır.
Buradan Tabloların ve Formların Farklı Görünümleri arasında geçiş yapılabilir.
Tasarım Görünümü seçilerek Tasarım sürecine geçilir. Tablolar için Veri sayfası
görünümü seçilerek Tablolar içerisindeki veriler görüntülenebilir. Ya da
formlar için Form görünümü seçilerek Form işlevleri görüntülenebilir.
Yukarıdaki resimde Görünüm menüsü Tablolar için görülmektedir. Formlar için ise
farklı seçenekler olacaktır.
Yazı dizimiz boyunca anlatacağımız tüm konuları içeren örnek uygulamalar ve
bir adet de Mega Projemiz olacak. Mega Proje olarak bir okulda kullanılabilecek
Öğrenci Kayıt, Öğrenim Yönetim ve Sınav Yönetimi gibi konuları da kapsayan
uygulamamız olacak. Access'in Gücünü tam anlamı ile görmeniz için gereken tüm
özen gösterilecektir. Ancak Access'in eksiklerini de aynı şekilde görüp
değerlendirmiş olacaksınız. Günün sonunda artı ve eksileri toplayarak
Access'den yeterince faydalanacağınızdan şüphem yok.
OLUŞTUR: Bu Menü tam anlamıyla Access'li diyebiliriz. Access'i temsil eden herşey
neredeyse buraya saklanmış. Şimdi sırasıyla bunları inceleyelim;
Görüldüğü üzere Tablolar, Formlar, Boş Formlar, Dolu Formlar şeklinde
Access'e özgü birçok menü kontrolü mevcuttur. İlk olarak Şablonlar
kısmına göz atalım ve sonrasında da sırasıyla diğerlerini açıklamaya devam
edelim.
Anlaşılacağı üzere burada hazır menüler ve hızlı başlangıç için bazı hazır
şablonlar yer almaktadır. Bir proje geliştirirken bir kaçını ya da tamamını
kullanabilirsiniz. Örneğin Hızlı bir başlangıç yapalım ve Kişiler Yazan yere tıklayalım
ve bakalım neler olacak.
Görüldüğü üzere çok hızlı bir başlangıç oldu. Bir sürü Form, Tablo ve
Sorgu hazır bir şekilde önümüze geliverdi. Ancak biz böyle çalışmayacağız
maalesef. Hazırdan olabildiğince uzak duracağız şimdilik. Mantığını anlamadan
bu tür yapıların kullanılmasını tavsiye etmem mümkün değil. Uygulama
Bölümleri kısmın anlaşılması için iyi bir örnek oldu diyebilirim.
Şimdi bizi ilgilendiren en önemli kısımlardan birine geçelim. Tablo
oluşturma. Tablolar Access ‘te verilerin tutulacağı alanlardır. Tekrar
Söyleyelim Veriler MS ACCESS Programında Tablolarda tutulurlar. Örneğin Mega
Projemizde yer alan Öğrenci Kimlik Bilgileri adında bir tablo olsun. Bu tabloda
Öğrenciye ait Tutulacak bilgilerin ne olduğu Tablonun Kolonlarından
Bilgiler ise Satırlardan görülebilir. Access içerisinde birden fazla Tabloda
Veriler tutuluyor olabilir. Bu tablolar arasında da ilişkiler söz konusudur.
Örneğin Yine Mega Projemizde Birinci Sınav Notları, İkinci Sınav Notları ve
Ödev Puanı şeklinde Notların tutulduğu bir tablo olabilir. Bu tablonun Öğrenci
Kimlik Bilgileri adındaki tablomuz ile ilişkilendirilmesi gerekmektedir. Bunu
yaparsak hangi notun hangi öğrenciye ait olduğunu bulabiliriz aksi durumda bir
sürü not tablolarda yer alacaktır bir diğerinde bir sürü öğrenci ama aralarında
bir ilişki olmadıktan sonra hiçbir anlam ifade etmeyecektir. Bu noktada ortaya
İlişkisel Veri Tabanı Kavramı Çıkmaktadır. Burada amacımız Access ‘den tam
anlamıyla faydalanabilecek kadar gerek duyulabilecek her türlü bilgiyi
sağlamaktır. Bu kapsamda İlişkisel Veri Tabanı, SQL gibi kavramlardan
bahsetmemiz gerekecektir. Ancak bu konu ilerleyen derslerde ele alınacaktır bu
bölümde Menüleri tanıtarak ilerlemeye devam edeceğiz.
Aşağıda Şekilde görüldüğü üzere 1 numara ile gösterilen Tablolar kısmı
Tablo oluşturmak, Tablo Düzenleme Seçeneklerinin yer aldığı kısımdır. 2
numaralı kısım Tablolarda yer alacak Sütun isimlerinin yani tutulması istenilen
bilgilerin ve özelliklerinin belirlendiği kısımdır. 3 numaralı kısımda bu özellikler
detaylandırılmıştır.
Özellik demişken bir veriye ait en önemli özellik verinin türüdür. Bu
Tanımlamanın yapılması gerekmektedir. Veri türünün tanımlanması Hem Programlama
hem de Veri Tabanı Kısmı için gerekli ve önemlidir. Peki, nedir bu tür olayı?
Tablolarda tutulan ya da hafızaya alınan veri bir Sayı olabilir, bir Harf
olabilir ya da bir Kelime. Dolar işareti ya da yüzde işareti bile olabilir. O
verinin ne tür bir veri olduğu ve ne kadar yer kaplaması beklendiğinin
bilgisayara bildirilmesi gerekmektedir. Bilgisayar da bu bildiriminizi dikkate
alarak çalışma anında size hafızadan yer ayırırken ihtiyaç bildirimiz oranında
bir yer ayıracaktır. Yani bana depoda bir köşe ayır oraya 100 tane un çuvalı
koyacağım demek gibi. Bunu yapmazsanız sonradan orta da 100 tane un çuvalı ile
kalmanız mümkündür. Dolayısı ile çalıştığınız veri tabanı ya da programlama
dili size hangi türlerde veriler tanımlayabileceğinizi ve bunların
özelliklerini sunar sizde buradan uygun olanı seçersiniz.
Yukarıda KimlikNo adında bir alan tanımlandı ve Bu KimlikNo adındaki alanın
Bir Sayı Türü olacağı ifade edildi. Sistemde işgal edeceği alanın da büyüklüğü
ifade edildi. Tablolarda yer almasını istediğimiz her türlü veri için bu
tanımlamaları yapmamız gerekmektedir.
KimlikNo isimli alana yukarıdaki gibi veriler girilebilir. Görüldüğü üzere
sayı olarak tanımlamıştık ancak Harf girdik nasıl oldu? Bu tür yapılarda
genelde girilen veri ASCII kodu gibi sayısal karşılıkları ile değerlendirilir. Birçok
kullanımda hatalara neden olacaktır. Bunu ileride daha iyi göreceksiniz o
yüzden siz siz olun baştan doğrusunu yapın.
Sorgular kısmından sorgu tasarımları yapılabilir. Sorgu, bir tabloda tutulan verilerin belirli kriterleri sağlayanları özel olarak görüntülenmek istenebilir. Örneğin Personel Maaş Tablosundan Maaşı sadece 2000TL/Ay ve üzeri olanları görüntülemek isteyebiliriz. Bu ve benzer durumlarda özellikle sürekli yapılması gerekli sorgular bu kısımdan çok basit bir şekilde tasarlanabilir. Sorgular bir tabloyu baz alabileceği gibi, birbirleri ile ilişki bir çok tablo da bir sorgu içerisinde birlikte kullanılabilir. Bu duruma örnek 3 adet tablomuz olsun. Birinci tabloda öğrenci bilgileri, ikinci tabloda bir okulda ki bölüm bilgileri ve üçüncü tabloda da sınav notları yer alsın.
Ben sadece bir bölüme kayıtlı öğrencilerin notlarını görüntülemek istediğimde bunun için bir sorgu oluşturabilirim. Sorgu tasarımı Veri Tabanı için en önemli konulardan birisidir. Bu sebepten bu konu ilerleyen bölümlerde detaylıca anlatılacaktır.
Raporlar da sorguların yaptığı işin otomatik yapılması denilebilir. Örneğin aylık satış raporu otomatik olarak oluşturulabilir ya da bir eğitim kurumunda verilen yıllık kursların raporunu oluşturmak mümkündür. Bu raporlar ilgili yöneticilerin dikkatine otomatik sunulabilir.
Makro ve kodlar kısmı ile ilgili olarak var olan imkanların yetmediği anda sınırları zorlamanın yolu diyebiliriz. Burada rutin işler için ya da daha özelleşmiş görevleri yerine getirmek adına kodlar yazılabilir. Örnek olarak bir kütüphanede alınan bir kitabı geri getirmeyen okuyucular için otomatik hatırlatma mesajı oluşturup atılabilir. Bunun için öncelikle kütüphane veritabanımızı oluşturup bir kullanıcı arayüzü tasarlamalıyız. Sonra bu arayüz formuna bağlı olarak VBA kodları ile böyle bir görev kolayca yerine getirilebilir.
Menü ile ilgili Tanıtımlar oldukça sıkıcı ve yazılı olarak da çok uzun sürdüğünden çok da fazla sözü uzatmadan kalan menüleri tanıtıp uygulamaya geçmekten yanayım.
Yapacağımız uygulamalar takip edildiğinde bu konu çok rahat bir şekilde anlaşılacaktır.
DIŞ VERİ: Ana başlıklarımızdan biri de dış veri. Adı üstünde dışarıdan verileri tablolara almak ve tablolarda yer alan verileri dışarıya aktarmak için bu kısım kullanılmaktadır.
Özellikle Excel'den veri almak ya da verileri excel'e çıkarma konusu oldukça sık karşılaşılacak bir konudur. Form görüntüleri için de PDF çıktılar alınabilir ancak burada söz konusu olan Verilerin Transferi yani Veri kaynağı olabilecek dosya tipleri ile işimiz olacak daha çok.
VERİ TABANI ARAÇLARI: En önemli kısımlardan biri de burası diyebilirim. Bunun sebebi olarak VBA kod editörü buradan başlatılabilir. Ayrıca İlişkisel Veri tabanı kavramının kökü olan veriler arasında ki ilişkilerde yine bu bölümde yer alan menüler ile kurulabilir.
Veri tabanları için veri eklendikçe zamanla bir şişme söz konusu olabilir. Bunun nedeni alanlar önceden tanımlıdır. Ancak bu alanlara tam kapasite veriler yerleştirilmemiş olabilir. Bu ve bunun gibi sebeplerden şişmeler olacaktır. Ayrıca veri tabanı bozulmaları da olabilir. Bu menüde yer alan Sıkıştır ve Onar adında bir seçenek Veri Tabanı Boyutunun olası en küçük değerde olmasını sağlayacaktır.
Kabaca arayüz ve menüleri tanıtmaya çalıştım. Ancak bu konu burada ele aldığımızdan çok daha fazla zaman ayrılması gereken bir konudur. Bu sebeple detayları zamana yayarak biran önce uygulamaya geçmekten yanayım. Arayüz tanıtımı ile ilgili bir video link olarak en kısa zamanda eklenecektir.
Link: Yakında...










