26 Ekim 2016 Çarşamba

MS ACCESS DERSLERİ-01

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...