“Veritabanı” derim. Veri

advertisement
Eğer bana bilgisayar kullanımını haklı gösterecek tek bir şey şey
derseniz, hemen “Veritabanı” derim. Veri-işlem. Ve ister telefon
defterinizi oluşturun, ister firmanızın demirbaş envanterini tutun,
Microsoft Access, her türlü veritabanı ihtiyacınızı karşılayacaktır ve
daha fazlasını verecektir. Eskiden, PC’ye, IBM-uyumlu bilgisayar
dendiği yıllarda, iş dünyasında satınalma görevlileri arasında yaygın bir
söz vardı: IBM’den şaşma, kovulmazsın! Eğer kullanımını iyi bildiğiniz
için her an iş bulabileceğiniz bir program varsa o da Access olmalı.
Artık kime kelime-işlem programı kullanabiliyor diye kimseyi işe
almıyor. Oysa Access, gerek bir çok işlemi otomasyona bağlayabildiği,
bırakın otomasyonu program-içinde-program yazmaya elverişli oluşu
ve çağımızın aracı Internet için gerekli ODBC uyumlu veritabanlarını
oluşturabilmesi sayesinde, bilgiişlem alanında yeni bir gelecek vaad
ediyor. Veritabanlarının en önemli özelliği ve onları bir kelime işlem
programıyla yapabileceğiniz listelerden farklı kılan ön önemli özelliği bir
veritabanında yer alan farklı tabloların birbiri ile ilişkilendirilmesidir.
Bundan önceki sürümlerinde Access, her bir tablonun kendi içinde
düzenlenmesine izin verirdi; oysa artık ilişkilendirilmş tabloların
tümünü birarada sanki tek tablo imiş gibi düzenlemeniz (edit) ve
güncelleştirmeniz mümkün. Access 2000 ile çalışmak daha kolay:
Metin kutularınız ve diğer kontrolleriniz (düğmeler, grafikler, yollar)
gruplanabilir ve böylece tek tek değil toplu olarak düzenlenebilir. Şartlı
biçimlendirme yoluyla, verilerinizi belirli şartı karşılıyor ve
karşılamıyorsa, dikkat çekici biçimlere sokabilirsiniz. Access bugüne
kadar sadece kendi dosyaları için bir kullanım aracıydı. Artık değil:
Access 2000 ile SQL uyumlu bütün veritabanlarına erişebilir, bu
verilerle Acces dosyaları ile neler yapabiliyorsanız, yapabilirsiniz.
Dışarıdan SQL-uyumlu veri satınalan firmalar, artık bir de bu verileri
kullanabilmek için gerekli programları satın almak zorunda değiller. Ve
Access ile oluşturacağınız verilerle hazırlayacağınız raporları artık
bilgisayarında Access kurulu olmayan kişilere de rahatça verebilirsiniz;
Access 2000 Snapshots, bu biçimi (.snp) destekleyen bütün işletim
sistemlerinde ve programlarda görülebilir, basılabilir ve kullanılabilir.
Access 2000 ile veri-işleme dünyasına yeni bir kavram geliyor: Veri
erişim sayfaları. Bu, Internet’te gördüğünüz türden bir Web sayfası ve
Microsoft Acces veritabanı dosyasında veya bir Microsoft SQL Server
veritabanında yeralan verilerin görülmesini, bu verilere ek yapılmasını,
değiştirtilmesini veya başka bir surette işlenmesini mümkün kılıyor. Bir
1
başka deyişle, Access’i kullanarak bir veri tabanı oluşturun, veya
Access ile erişebildiğiniz bir SQL Server dosyasını alın ve bu verilere
dayanan bir “veri erişim sayfası” hazırlayın. Sonra bunu ister
Internet’te koyun, ister firmanızın dahili Internet’ine (Intranet). Bu
sayfaya ulaşan herkes, verdiğiniz yetki çerçevesinde sayfanın veri
çektiği veritabanındaki bilgileri alabilir, değiştirebilir, ekleyebilir. (Şu
noktada, veri-yönlendirmeli Internet Uygulaması tasarım ve geliştirme
işi için vereceğiniz 5 bin Dolar’ı tasarruf etmiş bulunuyorsunuz!) Access
2000’i kurduğunuz zaman gerekli unsurlardan ve araçlardan hemen
hepsi kurulmakla birlikte, Acces ile hazırlayacağınız formlarda
kullanabileceğiniz temalardan bazı, sık kullanılmayan bazı sihirbazlar,
Microsoft’un armağanı Adres Defteri uygulaması, sağdan sola yazılan
dil desteği, Görsel Tasarım Araçları denen özellikle veri erişim sayfası
yapmakta kullanabileceğiniz programcıklar, tarayıcı ve kamera desteği,
Visual Basic yardım desteği ve Windows’un yeni makro dili olmaya
başlayan Windows Scripting’i oluşturmanızı ve kullanmasını sağlayacak
Editör, kurulmayacaktır. Bu araçlar ve programlar ancak ilk kez
ihtiyacınız olduğunda yüklenir. Bu arada veritabanlarınızda takvim
desteği için gerekli dosyalar, denklem editörü, uluslararası destek
dosyaları, Lotus desteği, Microsoft Photo Editor, (ve meşhuur
Northwind proje dosyaları) siz istemedikçe kurulmayacaktır. Bu destek
dosyalarına ihtiyacınız olup olmadığına siz karar vereceksiniz. Ama bu
daha sonra. Bundan önceki Office 2000 ailesi programlarla ilgili
kitapçıklarda belirttiğimiz gibi, Access dünyasına Access 2000 ile adım
atıyorsanız, bu kitapçıkla Access’i derhal kullanmaya başlayacaksınız.
Access zaten kullandığınız bir program ise bu kitapçık size sadece yeni
Access araçlarını tanıtma açısından yararlı olabilir. Fakat, kimbilir,
bugüne kadar el yordamıyla yaptığınız bir çok şeye yeni bir anlam
kazandırabiliriz! Bu kitapçığın düzenlenmesinde, programın işlevsel
özelliğine uygun bir ders kitabı ve daha sonra başvurulabilecek küçük
bir hatırlatma kaynağı sağlama ilkesini güttüm. Ama Access, bu
hacimde bir kitapla sadece tanıtılabilir.
Diğer Office programlarının çehresini tanıyorsanız, Access 2000’in
menü ve araç çubukları size hiç de farklı görünmeyecektir. Sadece
Access dosyalarının veri-tabanı dosyası olmasının sonucu farklı bir kaç
menü maddesi görebilirsiniz. Buna karşılık programın çalışma alanı
diğer programlardan oldukça farklıdır.
Access 2000, bütün Windows 95/98 programları gibi çeşikli yollarla
başlatılabilir.
Masaüstü’nde Access simgesi varsa, bu simgeyi iki kere tıklayarak
programı açabileceğiniz gibi, Başlat menüsünden Programlar’ı ve
2
açılacak listede Microsoft Access’i seçebilirsiniz. Office 2000, Başlat
menüsüne Yeni Ofis Belgesi ve Ofis Belgesi Aç maddelerini de koyar.
Bu maddeleri kullanarak Ofis ailesine ait herhangi bir programı
çalıştırabilirsiniz. Tabiî, Access’in oluşturduğu (uzatması “.mdb” olan)
herhangi bir dosyayı iki kere tıklayarak da Access’i başlatmanız
mümkündür.
Access de bütün Windows programları gibi kendi penceresinde açılır ve
bu pencereyi istediğiniz gibi bütübelir, küçültebilir, simge durumuna
getirebilir veya tüm ekranı kaplatabilirsiniz.
Access penceresinde kullanacağımız unsurları şöyle sıralayabiliriz:
Menü Çubuğu: Access 2000’in bütün kontrol unsurları, komutları ve
diyalog kutuları menülerden açılır. Bütün Office 2000 programları gibi
Access’in menüleri de sizin kullanım tarzınıza göre biçimlenir. Menü
maddelierini tıkladığınızda açılan listelerde önce en sık kullanılan
maddeler yer alır. Bir menü açıldığında herhangi bir seçim yapmaz ve
bir saniye beklerseniz, listenin uzadığını ve daha seyrek kullanılan
maddelerin de görüntülendiğini göreceksiniz. Eğer beklemek
istemiyorsanız, Mouse işaretçisini doğruca listenin, ortasında ucu aşağı
bakan bir ok bulunan alt kenarına sürükleyin; liste derhal uzayacaktır.
İlk açılan maddeler yerine daha sonra açılan maddeler arasında seçim
yaparsanız, Access 2000 bu tercihinizi öğrenecek bir dahaki sefere bu
maddeyi ilk açılan listeye koyacaktır. Sık kullandığınız maddeler ise
listede yukarı doğru terfi ederler. Menü çubuğunda yer almasını
istediğiniz bir komut varsa, bu komutu ayrı bir menü unsuru olarak
olarak veya mevcut menülerden birine madde olarak ekleyebilirsiniz.
Araçlar menüsünden Özelleştir maddesini ve açılacak kutuda Komutlar
sekmesini seçin; Komutlar bölümünden menü çubuğunda olmasını arzu
ettiğiniz komutu Mouse işaretçisiyle tutarak, menü çubuğunda arzu
ettiğiniz yere bırakın. Bu komutun mevcut menülerden birinde yer
almasını istiyorsanız, Mouse işaretçisini menü başlığıın üzerinde bir
süre tutun, menü açıldığında leni komutu arzu ettiğiniz sıraya bırakın.
Menüler “uzun” açılsın istiyorsanız..
Eski usul menülere alıştı iseniz ve menülerinizin ilk açıldığında bütün
maddeleri ile birlikte açılmasını istiyorsanız, Araçlar menüsünden
Özelleştir maddesini, ve açılacak kutuda Seçenekler sekmesini seçin:
Burada, “Menüler Önce son kullanılanı gösterir” maddesinin önündeki
işareti kaldırın. Son kullanılan menü maddelerinin yukarılarda yer
almasını istiyor, fakat menünün iki aşamada tamamlanmasını
3
istemiyorsanız, “Kısa bir gecikmeden sonra tam menüleri göster”
maddesinin işareti kaldırabilirsiniz
Araç Çubuğu: Access 2000’in 23 ayrı araç çubuğu vardır ve hepsini
açtığınızda muhtemelen veri penceresi için yer kalmayacaktır! Ayrıca
araç çubuklarındaki simgeleri değiştirebilirsiniz. Sözgelimi, varsayılan
olarak açılan “Menü çubuğu” adlı araç çubuğunda yer alan bir simgeyi
hiç kullanmadığınız için istemiyorsanız veya yeni bir komutu simge
halinede çubuğa almak istiyorsanız, Araçlar menüsünden Özelleştir
maddesini ve açılacak kutuda Araç Çubukları sekmesini seçin. Kutu
açıkken, araç çubuğunda istediğimiz simgeyi Mouse işaretçisiyle
tutarak, çubuk dışında bir yere bırakın. Araç çubuğuna eklemek
istediğiniz komut varsa, Özelleştir kutusu açıkken, Komutlar sekmesini
seçin; Komutlar bölümünden araç çubuğunda olmasını arzu ettiğiniz
komutu Mouse işaretçisiyle tutarak, araç çubuğunda arzu ettiğiniz yere
bırakın. Bu suretle eklediğiniz yeni simgenin resmini değiştirmek de
elinizdedir. Henüz oluşturduğunuz simge seçili iken, Komutlar
sekmesindeki Seçimi Değiştir düğmesini tıklayarak ve açılacak
menüden arzu ettiğiniz simgeyi seçebilirsiniz:
Veritabanı Penceresi: Access’te açtığınız veritabanları, ana pencere
içinde kendi pencerelerinde, kendi menüleri ve kendi komutları ile yer
alırlar. Bu pencerenin ögelerini aşağıda ele alacağız.
Durum Çubuğu: Access, programın işlemesine, Veritabanının
durumuna ve yapmak istediğiniz işlere ilişkin mesajlarını size
penceresinin elt çerçevesindeki durum çubuğunda bildirir. Access’e bir
şey yaptırmak istiyorsanız ve Access bu komutu yerine getirmek
istemiyorsa, muhtemelen sebebini Durum Çubuğu’nda belirtiyor
olabilir. Bu çubuktaki bilgilerden yararlanabilirsiniz.
Ofis Yardımcısı: Access 2000, Menü çubuğundaki Yardım menüsünün
şirin ve kullanımı daha kolay temsilcisi olarak size 8 yardımcı sunuyor.
Yardımcıyı her an tıklayarak soru kutusunu açabilirsiniz. Access 2000
Ofis yardımcısı, düzgün bir Türkçe soru cümlesini anlayıp, size doğru
cevabı vereibilir. Ama bunun için önce sizin Ofis Yardımcısının anladığı
soru tarzına biraz aşina olmanız gerekiyor. Klasik Windows yardım
kutusu da Yardım menüsü vasıtasıyla açılabilir. Bu kutuda Dizin ve Ara
sekmeleri bazen Ofis Yardımcısı’ndan daha hızlı sonuca ulaşmanızı
sağlayabilir. (Veritabanı ile uığraşmaktan çok sıkıldığınız bir an, Ofis
Yardımcısı sağ tıklayıp, Oynat maddesini seçebilirsiniz!
Veritabanı Penceresi
Access’de açık her veritabanı için bir veritabanı penceresi bulunur.
Veritabanı, yaptığınız işe bağlı olarak bu pencerenin içinde veya dışında
ayrı bir pencerede görüntülenebilir. Bu “görünümler” çoğu zaman
4
Veritabanı penceresi içinde yaptığınız tercihlere bağlıdır. Veritabanı
penceresinin unsurlarını ele alalım.
Veritabanı penceresinin kendi menü çubuğu vardır; ancak bu çubuktaki
unsurlarla sadece ait olduğu veritabanına ilişkin işler yapabilirsiniz.
Örneğin bu çubuktaki Aç simgesi, veritabanının seçilmiş olan nesnesini
(tablosunu, formunu, raporunu, sorgusunu, sayfasını, sorgusunu veya
modülünü) açar. Tasarla maddesiyle, mevcut nesnelerden birinin
tasarımını değiştirebilirsiniz. Yeni maddesi ise bazı sihirbazları veya
tasarım görünümünde yeni tablo ve rapor yapımını harekete geçirecek
maddeler içeren bir diyalog kutusu açar. Sil simgesi ise seçilmiş
nesneyi siler.
Veritabanı penceresinin dört görünüm belirleme simgesi ise, veritabanı
penceresinin içindeki nesnelerin büyük veya küçük simge halinde ya da
kısa veya ayrıntılı liste olarak gösterilmesini sağlar. Yukarıdaki örnekte,
ayrıntısız liste görünümü var. Ayrıntılı listede nesnenin adı, tanımı,
oluşturma ve değiştirme tarihleri ile türü gösterilir.
Silinen tablo ne olur?
Veritabanı penceresindeki büyük X harfi görünümündeki simge, tablo,
form, rapor gibi seçilmiş bir nesnenin silinmesini sağlar. Araçlar
menüsünde, Seçenekler maddesini ve bu kutuda Düzen/Bul sekmesini
tıklayarak ve buradaki Onayla bölümünde en azından “Belge silmeyi”
maddesini işaretlemezseniz, silinen nesne, silinmiş olur. Bu yüzlerce
kişinin aylarca süren emeği ile hazırlanmış ve her nedense yedeği
bulunmayan bir tablo olabilir. Çoğu zaman kazayla silinen nesnelerin
yer aldığı veri tabanlarının yedeği bulunmaz! Bir onay kutusunda Evet
düğmesini tıklamak, böyle bir kayıpla karşı karşıya kalmaktan daha az
zahmetli olsa gerek! Access içinde sildiğiniz nesnenin geri
gelmeyeceğini unutmayın!
Veritabanı dendiği zaman aklımıza genellikle sadece tablolar gelir.
Oysa veritabanı, en azından veriler arasında seçme yapmayı sağlayan
sorgu (query) araçları da içermelidir. Yoksa veritabanının bir kelime
işlemciyle oluşturacağınız listeden farkı olamaz. Access 2000 veritabanı
dendiğinde bir çok nesneyi birden anlar. Bu nesneler, birarada,
veritabanını oluşkurular. Bir veritabanında bulunabilecek nesneleri
ilerde ele alacağız. Fakat şimdilik veritabanını tablolar demeti olarak
düşünün. Access tablosu, sizin tayin ettiğiniz sayıda sütun ve yine sizin
bilgi girdiğiniz miktarda satırdan oluşur. Access’te veritablosu yapmayı
da ilerde ele alacağız. Access size tablolarımıza bilgi girmek veya bu
bilgileri düzenlemek için sorgu, form, modül ve makro adında araçlar
5
sunar. Tablolar ve bu araçları kullanarak oluşturacağınız sorgular,
formlar, modüller ve makrolar, veritabanızın nesneleridir. Bir
veritabanında şu nesneler bulunabilir:
1. Tablolar: Verilerinizin içinde bulunduğu listeler. Yeni bir veritabanı
dosyası oluşturmak üzere Access 2000’i çalıştırdığınızda açılan boş
veritabanı penceresinde, tablo oluşturmak üzere üç komut kısayolu
veya araç görürsünüz. Bunlar, “Tasarım görünümünde tablo oluştur,”
“Sihirbazı kullanarak tablo oluştur” ve “Veri girerek tablo oluştur” adını
taşır.
2. Sorgular: Verilerinizi tablolar halinde ortaya çıkarttıktan sonra, bu
verilerden yeni seçmeler yapmak, belirli bir ölçükü (kriteri)
karşılaşılayan veya karşılamayanları seçmek ve benzeri veri-işlemlerini
sorgu (Query) aracıyla yaparsınız. Access 2000, “Tasarım
görünümünde sorgu oluştur” ve “Sihirbazı kullanarak sorgu oluştur”
adlı iki araçla sorgu oluşturmanızı sağlar.
3. Formlar: Veri girme veya veri-işlem işlerinizi kolaylaştıran araçlardır.
Formu, veritabanınızdaki bilgilere denk kutular içeren bir tür grafik
arayüz sayabilirsiniz. Access 2000, “Tasarım görünümünde form
oluştur” ve “Sihirbazı kullanarak form oluştur” adlı iki araçla form
oluşturmanızı sağlar.
4. Raporlar: Verilerinizin bir bakıma ham liste halinde kurtarılıp,
anlamlı diziler haline getirilmesine rapor çıkartma denir. Access 2000,
“Tasarım görünümünde rapor oluştur” ve “Sihirbazı kullanarak rapor
oluştur” adlı iki araçla rapor oluşturmanızı sağlar.
5. Sayfalar: Veri erişim sayfaları. Access 2000’in yeniliklerinden olan
sayfalar bundan böyle veritabanı dosyalarınızın bir parçası olarak,
veriye bağlı, vergi güncelleştirildikte yenilenen Web sayfaları hazırlama
imkanı sunuyor. Access 2000, “Tasarım görünümünde veri erişim
sayfası oluştur,” “Sihirbazı kullanarak veri erişim sayfası oluştur” ve
“Zaten varolan Web sayfasını görüntüle” adlı üç araçla veri erişim
sayfası yapmanızı veya varolan sayfayı yeniden düzenlemenizi sağlar.
Makrolar, modüller: Tıpkı kelime işlem programlarında olduğu gibi, sık
sık tekrar ettiğiniz işlemleri, makro ve modül haline getirebilir ve
bunları uygun olan herhangi bir tablo, form veya sorguda
kullanabilirsiniz. Makro ve modülleri geliştirme işi ya otomatik olarak
Access tarafından yapılır; ya da siz Visual Basic for Applications
(Uygulamalar için Görsel Basic dili) editörünü kullanarak kendiniz
makro ve modül oluşturabilirsiniz.
Görünümler
Bir veri tablosu, Access’te çeşitli görünümlere sahip olabilir, veya
başka bir deyişle veritabanınızı farklı biçimlerde görüntüleyebilirsiniz.
6
Access’te tablolarınız genellikle veritabanı görünümde bulunur;
bununla birlikte tablolar form görünümünde de işlenebilir,
doldurulabilir, düzenlenebilir.
Veritabanı görümünde, bir Access tablosu ile sözgelimi bir Excel
tablosunun farkını ayırt etmek zordur. Bu görünümde tablonun
çerçevesinin üst kenarında adı yazılı olur; bunun hemen altında ise
tablodaki alan adlarının bulunduğu başlık bölümü vardır. Kayıtlar ise
tablonun satırları olarak sıralanır. Tablonun sağ ve alt kenarlarında
kaydırma çubukları bulunur. Tablonun alt çerçevesinin son köşesinde
Gezinme Düğmeleri yer alır. Bu düğmeleri kullanarak tablodaki kayıtlar
arasında gidip gelebilirsiniz. En soldaki düğme ile en başa, en sağdaki
ikinci düğme ile de en sona gidersiniz. Üzerinde yıldız bulunan sağdaki
düğme ise size yeni bir kayıt girmeniz için boş satır açar. Ayrıca
buradaki kutuya istediğiniz kaydın sıra numarasını yazarak, doğruca o
kayda gitmeniz mümkündür.
Access 2000 kurulduğu sırada bilgisayarınıza örnek bazı veritabanları
ve hatta kullanılmaya hazır veri-yönlendirmeli iki Access-uygulaması
kurar. (contacts.mdb ve addrbk.mdb) Bu örnek veritabanlarını
açtığınızda büyük bir ihtimalle, birinci sütunun solunda içinde artı (+)
işareti olan bir sütun göreceksiniz. Bu, o kaydın başka tablolarla
ilişkilendirilmiş olduğunu gösterir. Access 2000’le gelen bu yenilik ve
kazandırdığı imkanlar üzerinde sonra ayrıntılı duracağız.
Access veritabanı, tablo olarak görüntülenebildiği gibi, Form olarak da
görüntülenebilir.
Access 2000, veri tablolarınızı alarak, form biçimine getirebilir veya
bunu size bırakabilir. Access’in otomatik oluşturduğu tabloları sonradan
yeniden şekillendirebiliriz. Bir tablona hangi alanlar ve bu alanların
karşısında ne değerler varsa, formda da onlar bulunur. Formlarda da
gezinme düğmeleri yer alır.
Access’in bir diğer veri görüntüleme biçimi ise sorgulama sonucu
ortaya çıkar. Sorgu (query) veritabanı dosyasındaki tablo veya
tablolardan seçme yapmak demektir. Seçme işlemi için ölçütleri
(kriterleri) “Şu tablodan şu alanları al!” diye mutlak biçimde siz
belirtebileceğiniz gibi, “Şu alandaki değer şu ise, şundan aşağı ise,
bundan yukarı ise, veya bu değilse..” şeklinde “mantıksal” olarak da
tanımlayabilirsiniz. Access 2000, bu ölçütlere uyan kayıtları seçerek bir
“sorgu sonucu” oluşturur; bu sonuç veritabanı dosyasına tablo olarak
kaydedilebilir; veya sadece siz sorguyu çalıştırdığınız sırada ortaya
çıkar; sorgu işlemi bitince yok olur.
7
Mouse’unuzun sağ düğmesi
Access 2000, diğer Ofis 2000 programları gibi, Mouse’un sağ
düğmesine çeşitli işlevler yükler. Mouse’un sağ düğmesi, üzerinde sağtıkladığınız nesnenin gerektirdiği bir yerel menü açılmasını sağlar. Bu
menüler arasındaki farkı görebilmek için veritabanı penceresinde farklı
nesneleri sağ-tıklayın.
Ve Yardım
Access 2000 ile çalıştığınız sırada ne yapıyor olursanız olun, klavyede
F1 düğmesine basarak, yardım dosyasını açabilirsiniz. Ofis Yardımcısı
adı verilen simge, o anda yapmakta olduğunuz işlemle ilgili bir kaç
hazır yardım konusu başlığının yer aldığı ve bunlar yeterli değilse kendi
sorunuzu yazmanıza imkan veren bir diyalog kutusu açacaktır.
Ofis 2000 ailesi programlarının yardım dosyalarında yapılan yenileme
sonucu artık yardım istediğiniz konuyu mutlaka yardım dosyasının
şifreli ifadeleriyle yazmanız gerekmiyor. Bu kutuya normal bir soru
yazabilirsiniz. Araştır düğmesini tıkladığınızda, büyük bir ihtimalle tam
aradığınız konuya uygun bir başlığın yer aldığı bir kaç yardım konusu
liste halinde karşınıza gelecektir. Ofis Yardımcısı’nın diyalog
kutusundaki Seçenekler düğmesini tıklarsanız, Yardımcı için farklı
simgeler seçebilirsiniz.
Ofis Yardımcısının sağladığı hızlı yardım yeterli olmadığı anlarda,
arama ve dizinden geçme gibi diğer bazı imkanları olan yardım
kutusunu açabilirsiniz. Bunun için Yardım menüsünden Microsoft
Access Yardım maddesini seçmeniz gerekir.
Yardım gereken konunun anahtar kelimelerinin ne olabileceği hakkında
şüphede iseniz, bu kutuda İçindekiler sekmesini tıklayarak bütün
yardım konularını ana başlıklar halinde inceleyebilirsiniz. Bu kutuda
ikinci sekme olan, Cevap Sihirbazı ise Ofis Yardımcısı gibi, düzgün bir
Türkçe soruyu anlayabilir! (Kurulu Windows sisteminizin varsayılan dili
Türkçe değilse, Ofis Asistanı, soru yazmanıza imkan veren kutuyu
görüntülemeyecektir.) Dizin ise kelime aratmak için kullanılır. Bunu iki
ayrı şekilde yapabilirsiniz. Önce arama yapılmasını istediğiniz kelime
veya kelimeleri arama kutusuna yazın. Access 2000, kendi dizininde
buraya yazdığınız kelimelerle ilgili gördüklerini iki numaralı kutuya
yazacaktır. İsterseniz bu kutudaki bir kelimeyi de işaretleyebilirsiniz.
Sonra Ara düğmesini tıklayın. İçinde yazdığınız veya seçtiğiniz
kelimelerin geçtiği yardım metinlerinin başlıkları üçüncü kutuda
sıralanacaktır. Bu kutudaki başlıklardan size uygun görüneni iki kere
8
tıklayın; yardım metni sağdaki çerçevede görüntülenecektir. Yardım
kutusunun kendi araç çubuğundaki yazıcı simgesini tıklayarak,
görüntülediğiniz metni yazıcıya gönderebilirsiniz; ileri-geri simgelerini
tıklayarak önceki ve sonraki yardım metinleri arasında gidipgelebilirsiniz.
Şimdi Access 2000’in yüzünü tanımış oldunuz. Aşağı yukarı hangi
düğmenin ne yapacağını biliyorsunuz. Şimdi sıra Access’e bunları
yaptırtmaya geldi
Access 2000’i tanıdık diye hemen veri tabloları oluşturmak ve onlarla
sihirbazlık yapmak için henüz erken. Önce veritabanı planlama
konusundan söz etmemiz gerekiyor. Dikkatlice planlanmamış bir
veritabanı kullanıcıya yarardan çok zarar getirir.
Veri planlama, daha sonra verinin nerede ve nasıl kullanılacağına
dayanır. İmkansız olmamakla birlikte çok az veritabanı ilk amacının
dışında kullanılabilecek hale getirilebilir. İyi bir planlama ise önce
veritabanı terimlerine aşina olmayı gerektirir. Şimdi kısaca bu terimleri
ele alalım.
Veri ve Alan
Access 2000 ile kaydedeceğiniz ve kullanacağınız bilgilere veri denir.
Access açısından veriler, ait oldukları alanın türünde sayılır. Bir alan
sayı içeriyorsa, “123456789” sayıdır. Bir alan metin içeriyorsa
“123456789” metindir. Access 2000’de verileriniz şu türlerden birine
girmek zorundadır:
Metin: Rakam, harf veya işaretlerden oluşan ve 255 karakter
genişliğinde bir alandır. Metin olarak tayin edilmiş bir alana yazılan
rakamlar, sayı işlemi görmez; yani aritmetik işleme konu olamaz.
Metin alanları, belirlediğiniz (nasıl belirleyeceğimize sonra geleceğiz)
genişliğin üstünde karakter tutamazlar. Söz gelimi bir metin alanını 8
karakter boyutunda oluşturduysanız, bunun içine “Mustafa Durcan”
yazamazsınız. İyi bir veritabanı tasarımı, daima gerektiğinden biraz
fazla geniş boyut tayinini gerektirir.
Not: Metin alanı olmakla birlikte, 64 bin karakter alabilir.
Sayı: Her türlü aritmetik işleme konu olabilecek sayıları tutar.
Tarih/Saat: Belirlemenize göre, tarih veya saat veya her ikisini birden
tutabilen özel bir alandır.
Para Birimi: Türk lirası, Dolar, Alman Markı, Japon Yeni ve dünyada
bulunabilecek hemen hemen bütün para birimlerine tayinh edilebilecek
9
özel bir alandır. Para birimi verilerinizi gireceğiniz alanın Currency
olması, Access 2000’in bu verilerle para biriminin gerektirdiği biçimde
hesap yapmasını sağlar.
Otomatik Sayı: Access 2000 tarafından artan şekilde otomatik olarak
doldurulan bir alandır. Bir veritabanında her bir kaydın (satırın)
diğerlerinden mutlaka ayırıcı bir niteliği olması gerekir. Herşeyiyle aynı
iki kayıt, otomatik sayı alanının farklılığı sayesinde birbirinden
ayrılabilir.
Evet/Hayır: İçindeki değer Evet veya Hayır ya da Doğru veya Yanlış
olabilen, mantıksal işlemlerde kullanılan bir alandır.
OLE Nesnesi: Access 2000’in veritabanında bir başka program
tarafından oluşturulmuş nesnelere yervermenizi sağlayan alan türüdür.
Köprü: Internet sitelerinde bulunan sayfaların adresi (URL), Access
2000 tarafından bağlantı sağlanacak biçimde tutulabilir.
Arama Sihirbazı: Bir alana doğrudan vergi girmek yerine, Access’in
Arama Sihirbazı yardımıyla bu veriyi bir tablodan veya sorgu
sonucundan seçmesini sağlayabilirsiniz.
Her Rakam Sayı Değildir
Sık kullanacağınız bazı bilgilerin alan türleri şöyle olmalıdır:
Ad, soyad: Metin
Adres: Metin
Kapı, apartman daire no: Metin
Telefon no: Metin
Elektronik adres: Metin
Aylık gelir, fiyatı, tutarı: Para birimi
Yaş: Sayı
Personel sayısı: Sayı
Web Sitesi : Bağlantı
Kayıt
Veritabanındaki bir birim bilgi kümesine kayıt denir. Örneğin okuldaki
derslerinizde sınıvlarda, ödevlerde aldığınız notları tutan bir veritabanı
tasarlıyorsanız, her bir ders bir kayıt olabilir. Buna karşılık bir
öğretimenin sınıfındaki öğrenciler için tuttuğu veritabanında, her bir
öğrenci bir kayıt olabilir. Access ile kendinize bir adres defteri
yapıyorsanız, her kişi veya firma bir kayıttır. Veri alanlarınızı
belirlerken, bazı alanları “boş olabilir” şeklinde tanımlamışsanız, telefon
defterinizdeki her kaydın her alanı dolu olmayabilir; örneğin bazı
kişilerin faks numarası veya elektronik posta adresi olmayabilir. Buna
karşılık veri alanlarını belirlerken bazı alanlara boş olma yasağı
10
getirmişseniz, tablolarınızı doldururken Access 2000 bu alana mutlaka
alanın niteliğine uygun bir değer girmenizi şart koşacaktır.
Tablo
Tablo, (boş veya dolu) aynı alanlara sahip kayıtlar kümesidir.
Notlarınızı tuttuğunuz dosyada 1999-2000 ders yılı notlarınız bir tablo
oluşturabilir. Bir öğretmen için Lise 3 Türk Edebiyatı sınıfındaki
öğrenciler bir tabloda toplanabilir. Fakat öğretmen isterse kız ve erkek
öğrencileri aynı tablolara da alabilir. Daha sonra değineceğiz, bir
veritabanında aynı kişiye, aynı sınıfa, yani aynı birime ait kayıtların
tümü tek tabloda bulunmayabilir. Bu sebeple, tablo dendiği zaman,
sadece birbirine benzeyen verileri olan kayıt kümesi aklımıza
gelmelidir. Burada birbirine benzeyen tanımına dikkat edin: Diyelim ki
elimizde üç kişilik bir bilgi kümesi var. Bu üç kişiye ait bilgileri, adı,
soyadı ve cinsiyeti diye üç alanda toplamaya karar verdik. Bu üç kişinin
de bu üç haneye yazılacak bilgisi benzer bilgilerdir. Bilgilerin içerikli çok
farklı olabilir; birinin adı Mustafa, diğerinin Osman, üçüncüsünün ise
Vildan olabilir. İlk ikisi için tablomuyaz “erkek,” üçüncüsü için “kadın”
yazmamız gerekebilir. Fakat bu üç kişi bir arada, bir tablo oluşturabilir.
Veritabanı
Çeşitli tablolardan oluşan ve bir Access 2000 dosyayı halinde toplanan
bilgi kümesine veritabanı deriz. Bir veritabanının içinde birden fazla
tablo bulunabilir. Bu tablolar birbiri ilişkilendirilmiş olabilir;
ilişkilendirilmemiş olabilir. Bir veritabanında tablolar birbiri ile
ilişkilendirilmemiş ise buna düz veritabanı, tablolar ilişkilendirilmiş ise
(doğru bildiniz!) ilişkilendirilmiş veritabanı denir. Eğer veritabanı
tasarımının bir tek püf noktası varsa, o da ilişkilendirilmiş tablo
meselesini kavramaktır.
Düz Veritabanı: Bir tablonun bütün alanlarına dair bütün bilgiler kendi
içinde ise bu tabloya düz tablo, bu dosyaya düz dosya ve bu
veritabanına da düz veritabanı denir. Diyelim ki elimizde, “Adı,”
“Adresi” ve “Telefon numarası” alanlarını içeren bir tablo var. Ve
diyelim ki Mustafa’nın 1, Osman’ın 2, Vildan’ın da 3 telefonu var. Bu
durumda Mustafa listemize bir kere, Osman iki kere, Vildan ise üç kere
yazılacak demektir. Düz tablolarda tekrarlar olur. İlişkilendirilmiş
Veritabanı: Düz tablolardaki tekrarı önlemek ve böylece veritabanının
daha az yer tutmasını dolayısıyla sorguların daha hızlı icra edilmesini
sağlamak amacıyla, tabloları ilişkilendiririz. Yukarıdaki örneğe
dönersek, Osman’ın adını ve adresini iki, Vildan’ın adını ve adresini üç
kere göstermek yerine, bütün kişileri bir tabloda adları ve adresleri ile
11
toplar, bir diğer tabloya ise telefon numaralarını yazan ve her bir
numarayı kişiler tablosunda bir kayıtla ilişkilendirirsek, her kisini de
veritabanımız dosya olarak çok daha az yer tutar.
Bunu “Anahtar alan” veya “Birincil anahtar” (Primary key) adını
verdiğimiz teknikle sağlarız. Her tabloda her bir kaydı diğerlerinden
benzersiz hale getiren, yani diğer hiç bir satırda aynısı bulunmayan bir
alan olmalıdır. Bu nitelikteki bir alanı Birincil Anahtar olarak tayin
edebiliriz. İlişkilendirilmiş bir veritabanında, her bir kayıt, bir alanından
diğer bir tabloya bağlanır. Bu bağlamanın kayıtların benzersiz
alanlarından yapılması yanlış bağları önleyecektir. Yine yukarıdaki
örneğe dönelim. Mustafa’ya 1, Osman’a 2 ve Vildan’a 3 numaralı kişi
diyelim; Elimizdeki bütün telefon numaralarını altalta yazar (telefon
numaralarını kayıt yani satır olarak düşünün) ve karşılarına ait
oldukları kişinin numarasını yazarsak, her bir telefonun kime ait
olduğunu kolayca buluruz. “Kolayca” tabiî sözün gelişi; fakat bu
durumda veri tabanı dosyamız çok daha az yer tutar.
Meraklısı için not: Tablolarınız Normal Mi?
İlişkilendirilmiş veritabanı dosyası daha az yer tutmakla birlikte,
veritabanı tablolarımızı ilişkilendirmemizin tek sebebi bu değildir.
Haziran 1970’te Edgar Codd adlı bilgisayar mühendisi, elektronik veri
bankalarının devasa boyutlara ulaşmasını fakat yine de küçük bir
terminalde işlenebilmesini sağlayan bu modeli ortaya attığında, bütün
veritabanları, örneğin, Adı, Soyadı, Adresi, TelNo1, TelNo2, TelNo3..
şeklinde fazlalık ve boşluk içeren düz, birbiri ardına disket yazılmış
kayıtlardı. Codd, veri parçacıkların, örneğin kişino=telno şeklinde
ad=değer çiftleri halinde yazılmasını önerdi. Bu bilgisayarın ana
işlemcisinin (CPU) daha hızlı hesap yapmasını sağladığı gibi insan
hatası faktörünü de azaltıyordu. (Aynı kişinin üç telefon numarası için
üç ayrı yerdeki adresinin de düzeltilmesi yerine bunu bir yerde yapmak
daha güvenli!)
Codd’ın sistemi, verilerin tutarlılığını da sağlıyordu. Veritabanı
dosyalarında bilgi tutarlılığı, bir veritabanında ad=değer şeklinde bütün
çiftlerin bir Birincil Anahtar dediğimiz ad’a ve bu ad’ın tabloda başka
hiç bir kayıtta bulunmayan bir değere sahip olması gerekir. (Çünkü
veritabanı ile çalırken ad=değer çiftlerini başka türlü tanımamız
mümkün değildir. Bu disk üzerine yazılırken verilerimizin sıra veya yer
kaygısı gütmeden yazılmasını sağlar.) Böylece hiç bir kayda ait
olmayan ad=değer çiftçi bulunmuyor, ve hiç bir kaydın eksik alanı
olmuyor (boş olabilir; bu eksik demek değildir.) Codd’ın bu buluşu
12
veri-işlem alanında devrim sayılır. Codd’un zamanla geliştirilen
modelinin beş ilkesi vardır:
1. Her bir değer müstakil olmalıdır (Bir kutuda üç telefon numarası
birden bulunmamalıdır).
2. Ad=değer çiftleri Anahtar Değer (Birincil Anahtar) vasıtasıyla
birleştirildiğinde ortaya başka bir kayda benzemeyen kayıt çıkmalıdır.
(Aksi taktirde Birincil Anahtar özgün demek değildir!)
3. Bir değerin hangi kayda ait olduğu sadece bir Anahtar Değere
(Birincil Anahtar’a) bakılarak bilinmelidir. (Bir telefonun ait olduğu
kişiyi belirlemek için hem adına, hem adresine bakmak zorunda isek,
aynı adda birden fazla kişi var demektir; kendimize yeni bir Birincil
Anahtar bulmak zorundayız.)
4. Hiç bir kayıt, aynı ad için birden fazla değer almamalıdır. (Bir kişinin
beş çocuğu varsa, 3 oğlu, üç kızı olamaz!)
5. Bir tablo, artık tekrar ikiye veya daha fazla tabloya bölünemeyecek
kadar fazlalıktan arındırılmış olmalıdır.
Bu beş ilkeye tabloların Normalleştirilme Kuralları, buna uygun hale
getirilmiş tablolara Normal Tablolar ve işleme de Normalizasyon denir.
Basit bir adres defteri yaparken, herkese üç telefon, bir faks ve bir de
cep telefonu hanesi açmak ve bazı kişiler için bazı sütunları (alanları)
boş bırakmak daha kolay bir çözüm olabilir. Bununla birlikte daha
sonra uygulama programlarına veya Web sayfalarına temel olacak
veritabanları geliştirirken, ilişkilendirilmiş tablolar kullanmak daha
doğru olur. İlişkilendirmenin ilkelerinden, ilerde tablolarlarımızda ilişki
kurarken söz edeceğiz.
Tablo Tasarımı
İyi bir veritabanı tasarımı, iyi düşünülmüş tablo tasarımı ile başlar. Bu
ilke uygulamada şu anlama gelir: Mouse işaretçisini Access simgesi
üzerine doğru götürmeden önce, elinize bolca kağıt, bir de kalem alın
ve başlayın tablo tasarımına. (Kağıdınız kareli, kaleminiz de
kurşunkalem olursa ve elinizin altında bir de silgi bulunursa, tablo
tasarımınızın başarılı olacağını şimdiden garanti ederim!) Önce kağıda
bu veritabanı projesinin sonunda ortaya çıkmasını istediğiniz liste,
rapor ve diğer ne türlü belge varsa, hepsini başlıklar halinde yazın. Bu
kağıdı önünüze koyun ve ayrı sayfalara buradaki her bir maddenin
kağıda döküldüğünde nasıl görünmesini istiyorsanız o şekilde
görünümünü çizin. İstediğiniz başlıkları, altbaşlıkları, sütunları ve
satırları belirtin. Sonra bu sayfalarda gördüğünüz şekillere bakarak,
13
alanları (sütun başlıklarını) listeleyin. Örneğin, kendinize bir telefon
defteri-temas çizelgesi hazırlıyorsanız, alan tanımlarınız şöyle olabilir:
1. Sıra no = otomatik sayı
2. Adı = metin, 20 karakter boyutunda, boş olamaz
3. Soyadı = metin, 20 karakter boyutunda, boş olamaz
4. Adres Satır 1 = metin, 30 karakter boyutunda, boş olabilir
5. Adres Satır 2 = metin, 30 karakter boyutunda, boş olabilir
6. Şehir = metin, 20 karakter boyutunda, boş olabilir
7. Posta kodu = metin, 5 karakter boyutunda, boş olabilir
8. Ülke = metin, 20 karakter boyutunda, boş olabilir
9. Doğum tarihi = tarih (otomatik olarak boyutlanır), boş olabilir
10. Doğum gününde kart yollayacak mıyım= evet/hayır, boş olabilir
10. Eşinin Adı = metin 20 karakter boyutunda, boş olabilir
11. Çocuk 1 Adı = metin 20 karakter boyutunda, boş olabilir
12. Çocuk 2 Adı = metin 20 karakter boyutunda, boş olabilir
13. Çocuk 3 Adı = metin 20 karakter boyutunda, boş olabilir
14. Çocuk 4 Adı = metin 20 karakter boyutunda, boş olabilir
15. Ev telefon no = metin, xxxx-xxx-xxxx biçiminde, boş olabilir
16. İş telefon no = metin, xxxx-xxx-xxxx biçiminde, boş olabilir
17. Cep telefon no = metin, xxxx-xxx-xxxx biçiminde, boş olabilir
18. Faks no = metin, xxxx-xxx-xxxx biçiminde, boş olabilir
19. En son ne zaman görüştüm = tarih, boş olabilir
20. Son güncelleme tarihi = tarih, boş olamaz
Alan listesini tamamladıktan sonra bu alanlar, bir tabloda mı
toplanmalı, birden fazla tabloya mı bölünmeli sorusuna cevap verin.
Yukarıdaki örnekte iki noktadaki aksaklığı görmüş olmalısınız. Birinci
aksaklık çocuklarla, ikinci aksaklık telefon numaralarıyla ilgili. Önce
birinci sorunu ele alalım. Beş çocuklu bir dostunuzun beşinci çocuğu bu
listeye yazılamaz. O halde buradaki 16 alan en azından iki tabloya
bölünmeli; çocuklara ilişkin olan alanlar dışındaki bütün alanlar
“Aileler” tablosunda toplanmalı, bütün çocuklar “Çocuklar” adlı tabloda
yer almalıdır. Çocuklar tablosunun alanları ise şöyle olabilir:
1. Sıra no = otomatik sayı
2. Çocuğun adı = metin, 20 karakter boyutunda, boş olamaz
3. Çocuğun ailesi kimliği = metin, 20 karakter, boş olamaz
Şimdi burada başka bir sorun var: çocuğun aile kimliği, babasının veya
annesinin soyadı olacaksa ve aynı soyadı taşıyan iki dostumuz varsa,
çocuğun kime ait olduğunu bilemeyiz. Aslında bu sorun, ortaya başka
bir sorun daha çıkartıyor: diyelim ki aynı adda iki dostumuz var;
ikisinin de eş ve çocuk durumu ile adreslerini ve telefon numaralarına
14
ilişkin elimizdeki bilgilerin aynı olduğunu (mesela bu bilgiler elimizde
yok ve dolayısılya bu sütunlar boş!) varsayalım. Bu iki kişiyi listeye
“benzersiz kayıt” olarak nasıl kaydedebiliriz? Otomatik sıra numarasını
birincil anahtar yaparak! Her aileye ait kaydın benzersiz olmasını
sağlayan otomatik sıra numarasını aile tablosunda birincil anahtar
yaparsak, daha sonra çocuk tabllosuyla ilişki sağlayan anahtar olarak
kullanabiliriz. Bunu görsel olarak ifade edelim:
Şimdilik bu tabloların oluşturulacağı üzerinde durmayalım. Burada
sadece kavramsal olarak çocuklarla aileleri arasında bağ kurmaya
çalışıyoruz. Aileler tablosunda “Aile Sıra No” adlı bir sütun açar ve bu
sütunu Access’e Otomatik Sayı alanı olarak otomatik şekilde
doldurtabiliriz. Sonra, çocukları kaydettiğimiz tabloda, her çocuğun
ailesini, aile tablosundaki Aile Sıra No bilgisini tekrar ederek
belirtebiliriz. (Nasıl’ın üzerinde durmuyoruz!) Diyelim ki Masum Sayan
adlı iki arkadaşımızın ikişer çocuğu var. 5 numaralı aileye mensup
Masum Sayan ile 6 numaralı aile mensup Masum Sayan’ın çocukları da
aynı Aile Sıra No’sunu aldıkları anda, gereksiz bilgi içeren veya bilgi
kaybına yol açan bir tablo tasarımından kurtulmuş, yani Aile
tablosunda “çocuk 1,” “çocuk 2,”.. “çocuk x” şeklinde kimi ailede boş
kalacak, kimi ailede yetmeyecek sütunlar açmamış oluruz.
Yukarıda muhtemel alanlarımızın listesini döktüğümüzde, iki sorunla
karşılaştığımızı söylemiştik. Birinci sorun çocuklarla ilgiliydi. Onu
çözdük. Fakat aynı durum, telefon numaraları için de var. Birden fazla
ev, iş, faks veya cep telefonu olanlara ilişkin tüm telefon numaralarını
tablomuza işleyebilmek için mutlaka çocuk tablosunu eklediğimiz gibi,
veritabanımıza ideal olarak dört ayrı telefon numaraları tablosu (ev, iş,
faks ve cep telefonları tabloları) ekleyip, bunlara da Aile Sıra No sütunu
açıp, her telefon numarası ile telefonun sahibini ilişkilendirebiliriz.
Böylece tablo tasarımının kağıt üzerindeki bölümü bitmiş oluyor.
Nihayet sıra Access’i çalıştırmaya geldi.
Access’te Veritabanı Oluşturma
Access’i çalıştırdıktan sonra, boş bir veritabanı oluşturalım. Fakat bu
arada Access7in boş veritabanı şablolarını tanıyalım. Kullandığınız
Access’in başka bir kullanıcı tarafından ayarları değiştirilmemişse,
açıldığı anda karşınıza ne yapmak istediğinizi soran ve dosya seçmenizi
sağlayan diyalog kutusu gelecektir. Bu kutuda “Access Veritabanı
sihirbazları, sayfaları ve projeleri” maddesini işaretleyerek Tamam’ı
tıklayın.
15
Access’in ayarları değiştirilerek bu kutunun açılması önlenmişse,
karşınızda tamamen boş bir Access penceresi de görebilirsiniz. Bu
durumda Dosya menüsünden Yeni maddesini seçerek (veya klavyede
Ctrl tuşunu tutarak ve N tuşuna basarak), boş bir veritabanı
oluşturmanızı sağlayacak diyalog kutusunun açılmasını
sağlayabilirsiniz. Yeni diyalog kutusu açıldığında Veritabanı sekmesini
tıklayın.
Access’i tasarlayan uzmanlar, çeşitli kullanım alanları bulunan on ayrı
veritabanı şablonu hazırlamış bulunuyorlar. Access ile veritabanı
projelerinde büyük bir ihtimalle bu şablonlar hemen her ihtiyacınızı
karşılayacaktır. Access’i tanımak için bu şabloların teker teker hepsini
seçip, oluşturulmasını önerdiği dosyaların oluşturulmasını sağlayıp,
sonra şablon sihirbazının her bir veritabanında ne gibi tablolar açtığını,
bu tablolara ne gibi görevler yüklediğini, ne gibi alanlar oluşturduğunu
gözlemenizde yarar var. Veritabanı yapan Access sihirbazlarının bir
diğer marifeti veri girme ve rapor alma işlerinde kullanacağınız formları
da oluşturmaktır. Bu formları inceleyerek, ilerde kendi formlarınızı
tasarlamakta kullanacağınız ipuçları edinebilirsiniz. Ayrıca Access 2000,
sadece tabloları, formları ve raporları oluşturmakla kalmayacak, bu
veritabanını, sanki kendi başına bir program gibi, kullanmanızı
sağlayacak grafik arayüzü bile inşa edecektir. Sihirbazları kullanarak,
tabloları doldurulmaya, formları kullanılmaya ve raporları baskıya hazır
veritabanlarını sık sık oluşturacaksınız; fakat kimi zaman bu tablolarda,
formlarda veya raporlarda yeni bir alan eklemek, veya var olan bir
alanı kaldırmak isteyebilirsiniz. Bunu yapabilmek için, Access’in bu
nesnelerini nasıl oluşturabileceğimizi, nasıl düzenleyebileceğimizi veya
değiştirebileceğimizi bilmemiz gerekir. Şimdi bir örnek üzerinde bunu
birlikte yapalım.
Alan Türleri
Access Sihirbazlarıyla ilgili keşif turunu bitirdiğinizde, Yeni diyalog
kutusunda Boş Access Veritabanı maddesini işaretleyip Tamam’ı
tıklayın. Şimdi, kendi veritabanımızı kendimiz oluşturmaya
başlayabiliriz. Açılacak diyalog kutusunda Genel sekmesinin seçili
olmasına dikkat edin; ve Boş Veritabanı simgesini ve Tamam’ı tıklayın;
Access 2000 ‘in önerdiği “vt1.mdb” adını “Adres Defteri.mdb” olarak
(veya oluşturmak üzere yukarıda kağıt-kalemle planını yaptığınız
veritabanına uygun bir ad vererek) değiştirin; yeni veritabanınızı
Veritabanı penceresinde işlenmeye hazır bulacaksınız. Nesneler’den
Tablolar’ın seçildiğini, ve tablo oluşturmak için kullanabileceğiniz üç
aracın kısayolunu görüyorsunuz:
16
Bunlar, tasarım görünümünde, Sihirbaz kullanarak ve veri girerek tablo
oluşturmanızı sağlayan yöntemlerdir. Madem ki Access 2000 ile tabir
yerinde ise sıfırdan tablo oluşturmaya karar verdik; o halde “Tasarım
görünümünde tablo oluştur” maddesini tıklayarak, tablo oluşturma
penceresini açın. Bu noktada yukarıda tablo tasarımıyla ilgili bölümde
kendi veritabanımızı planladıysanız, bu planları önünüze çekin. Bu
alıştırmayı yapmadıysanız, örnek olarak ele aldığımız Adres Defteri’ni
birlikte oluşturabiliriz.
Tasarım görünümde karşınıza gelen tablo biçimindeki araç,
tablonuzdaki alanların adlarını, özellikleri ve doldurulması için gerekli
işlemleri belirteceğiniz yerdir. Aile tablosunu oluşturmak için imlecinizi
Alan Adı sütununun birinci satırının içine getirin ve “AileSıraNo” yazın.
Kendi veritabanızı oluşturuyorsanız, herhangi bir tablodan işe
başlayabilirsiniz; bu tablolardan birini seçin ve birinci sütunun adını
yazın.
Türkçe Karakter Kullanırken!
Access 2000, diğer Ofis programları, sadece menüleri, diyalog kutuları
ve yarndım dosyaları bakımından Türkçe olmakla kalmayıp, aynı
zamanda içeriğinde de Unicode’u destekleyen bir programdır. Bu
bakımdan tablolarınızda, formlarınızda, raporlarınızda, makrolarınızda
ve hatta kullanılmaya hazır fonksiyonlarda, içerik ve başlık olarak
Türkçe karakter kullanabilirsiniz.
Hemen her türlü bilgi işlem ürününün Internet’te kullanıldığı veya
Internet malzemesi olarak değerlendirildirildiği günümüzde
veritabanlarına dayanan Web uygulamaları da hızla yaygın hale
gelirken, hazırlayacağınız Access dosyalarının Microsoft ODBC (Open
Database Connectivity) tekniği ile Web Server’a yüklenip
yüklenmeyeceğini hesaba katmalısınız. Access dosyalarınız, ODBC
yoluyla bir Web Server’a veri kaynağı olarak tanıtılacaksa, Web Server
programının ve ona evsahipliği yapan işletim sisteminin Unicode
uyumlu olup olmadığı, sizin kullandığınız Alan adlarının doğru okunup
okunmamasını da belirler. Veritabanının içeriği, sonuç itibariyle Web
sayfasının unsurları arasında Browser’a gönderilecek ve orada
yorumlanacaktır. Bugün sadece Netscape browser programının bazı
işletim ortamlarında kullanılan sürümleri Unicode okuyamaz. Bu
browserları kullanan Internet ziyaretçileri, sayfanızın bazı unsurlarını
Türkçe karakterlerle göremezler. Fakat alan adlarınızdaki Türkçe
karakterlere gönderme yapan programlar ve Scriptler, bu adları
bulamadıkları taktirde, veri-yönlendirmeli Web uygulamalarınız,
örneğin ASP prıogramlarınız hata mesajı verirler.
17
Veritabanlarınızı ne tür Web Server’a yükleyeceğinizi bilmiyorsanız,
alan adlarında Türkçe karakter kullanmaktan kaçının.
Yukarıdaki örnek planda bu sütunun adının “Aile Sıra No” olmasını
kararlaştırdığımız halde, burada alan adında boşluk bırakmadığımıza
dikkat etmiş olmalısınız. Bu, daha sonra yazacağımız veri seçme
komutlarının alan adlarında boşluk istememesinden kaynaklanıyor.
Sonra klavyenizde sekme tuşuna basarak, imlecin Veri Türü sütununa
gelmesini sağlayın ve burada beliren aşağı ok simgesini tıklayarak
(veya klavyede Alt tuşunu tutarak ve aşağı ok tuşuna basarak) veri
türleri listesini açın:
Burada gördüğünüz veri türlerini tanıyorsunuz; bizim örneğimizde
birinci alanımıza Access 2000’in otomatik olarak sıra numarası
vermesini istediğimiz için burada Otomatik Sayı türünü seçiyoruz (Siz,
kendi planınıza uygun bir türü seçebilirsiniz).
Alan Özellikleri
Tablo oluşturma penceresinin üst tarafında yaptığınız seçime göre,
pencerenin Alan Özellikleri başlıklı alt bölümündeki bilgilerin değiştiğine
dikkat edin. Buradaki kontrollerin çoğu Access ile veritabanı oluşturma
beceriniz arttıkça kullanılacak niteliktedir. Alan özellikleri, o alandaki
bilgilerin boyut, renk veya konumu gibi niteliklerini ve gizli olmekgörünür olmak gibi davranış biçimlerini tanımlar. Daha sonra
verilerimizi biçimlendirirken bu kontrollerden yararlanacağız. Bazı
alanların bazı özellikleri yoktur. Örneğin Alan Boyutu özelliği sadece
metin, sayı ve otomatik sayı alanları için geçerlidir. Şimdi alan
özelliklerind sık kullancaklarımızı ele alalım:
Metin Alanları için alan boyutu: 0 ile 255 karakter arasında
olmalıdır. Diğer alanların boyut sınırlaması yoktur. (Varsayılan boyut:
50)
Sayı alanları için alan boyutu: Sayı olarak belirlediğiniz alanın
boyutunu, Alan Özellikleri bölümünde Alan boyutu satırının sağındaki
aşağı oku tıklayarak, şu seçenekler arasından seçebilirsiniz: Byte,
ondalık, tamsayı, uzun tamsayı, tek, çift, yineleme kimliği (Replication
ID).
Sayılar ve Paralarda Uzunluk
18
Veri alanınız Otomatik Sayı ise, alan boyutu ya uzun tamsayı, ya da
“yineleme kimliği” adı verilen otomatik değer olur. Alan türünüz Sayı
ise şu alan boyutlarından birini seçebilirsiniz.
Byte 0’dan 255’e kadar tam sayı tutar.
Ondalık (.adp) dosyası olarak -10^38 -1’den 10^38 -1’e kadar,
(.mdb) dosylası olarak -10^28 -1’den 10^28 -1 ‘e kadar sayı tutar;
virgülden sonra 28 basamak gösterir.
Tamsayı –32,768’den 32,767’e kadar kesirsiz sayı tutar.
Uzun tamsayı (Varsayılan) –2,147,483,648’den 2,147,483,647’e
kadar kesirsiz sayı tutar.
Tek –3.402823E38’den–1.401298E–45’e kadar negatif, 1.401298E–
45’den 3.402823E38’e kaedar pozitif değer tutar; 7 basamaklı ondalık
bölümü olabilir.
Çift –1.79769313486231E308’den –4.94065645841247E–324’e kadar
negatif, 1.79769313486231E308’den 4.94065645841247E–324’e
kadar pozitif sayı tutar; 15 basamaklı ondalık bölümü olabilir.
Replication ID Küresel benzersiz tanımlayıcı (Globally unique
identifier--GUID)
eritabanı dosyalarınızın kolay açılıp kapanması ve veriişlemin yeterince
hızlı yapılabilmesi için alanlarınızı tutacakları en büyük sayıdan daha
fazsla sayı tutabilir şekilde tanımlamayın. Diğer taraftan alanınızı
girebileceğiniz değerden küçük tutarsanız, bu kez girdiğiniz değerlerin
fazla gielen kısımları kesilecek, yani verileriniz tahrip olacaktır.
yı ve para birimi verilerinizi hazır biçimlendirme şablonu ile değil de
kendiniz biçimlendirme ifadesi yazarak biçimlendirmek isterseniz, şu
ayarları yapabilirsiniz (bu ifadeleri, Alan Özellikleri bölümünde biçim
kutusuna yazacaksınız):
0;(0);;”Yok” Normal değerleri normal şekilde, negatif değerleri
parantez içinde gösterir; boş bırakıldığında yerine “Yok” yazar.
+0.0;-0.0;0.0 Artı ve eksi işaretini gösterir,; boş bırakıldığında yerine
0.0 yazar.
Biçim: Siz nasıl girerseniz girin verinin tabloda (ve daha sonra bu
tablodan yapılacak şekilde oluşturulacak raporlarda ve formlarda) nasıl
görüntüleneceğini belirler. Ayrıca buraya yazacağınız biçim komutları,
girilebilecek verinin niteliğini de tayin eder. (Ayrıntılı biçim ifadeleri için
Ek 1’e bakınız.)
Giriş maskesi: Veritabanıza verileri girerken, önce girişi
kolaylaştırmak, daha sonra da veri işlem sırasında verilerin istediğiniz
19
biçimde olmasıını ve dolayısıyla işlemi kolaylaştırmak amacılya, veri
girişini belirli bir biçim kuralına bağlayabilirsiniz. Söz gelimi telefon
numaralarının daima (0555) 555-5555 gibi girilmesini sağlamak için bir
metin alanına bunu sağlayacak giriş maskesi adı verilen komut
ifadesini yazabilirsiniz. Bunun için giriş maskesi olarak (9999) 000
0000;;_ yazmanız gerekir. Fakat Access 2000, sık kullanılan, telefon
numarası, Vergi dairesi ve numarası, posta kodu, sosyal sigortalar
numarası, sigorta kod numarası, parola, ve çeşitli tarih ve saat
biçimlerine uygun giriş maskelerini hazır veriyor.
Bu hazır maskeleri bir alanınızın Alan Özellikleri bölümüne katmak için,
giriş maskesi satırının sağındaki üç nokta simgesini tıklayın; açılacak
Giriş Maskesi Sihirbazı’nda arzu ettiğiniz giriş biçimini seçin. Bir bilginin
tablolara veya formlara belirli bir maske ile girilmesi, mutlaka o şekilde
kaydedileceği anlamına gelmez. Özellikle parantez, kesme ve benzeri
işaretleri kullandığınız giriş maskelerini veritabanı dosyaya yazılırken
kaydettirmeniz gerekmez; bu dosya boyutunda tasarruf sağlar. Daha
sonra raporlarınızda veya Access dosyalarından başka programlar için
veri ihraç ederken bu işaretlerin yeniden konulmasını sağlayabilirsiniz.
Geçerlik Kuralı, geçerlik metni: Veri işlemin sağlıklı olabilmesi için
girilen verilerin gerçekten girilmesi gereken türde olması şarttır.
Access, veri girilmesi sırasında girilen değerin geçerliliğini sınayabilir ve
veri gireni uyarır. Veri girişinde uyulacak kuralları Geçerlik Kuralı
kutusunda, geçirli olmayan veri girişinde görüntülenecek uyarı metnini
ise geçerlik metni kutusunda belirtirsiniz. (Bu kutuların etiketini
Geçerlilik şeklinde göreceksiniz. Bu, Türkçe imlâ ilkelerine aykırıdır.)
Geçerlik kuralları kutusuna yazabileceğiniz bazı ifade örnekleri şunlar
olabilir:
<> 0 Girilen değer sıfırdan farklı olmalıdır
> 1000 Or Is Null Girilen değer ya boş olmalıdır, ya da 1000’den
büyük olmalıdır.
Like "A????" Girilen değer 5 karakter boyutunda olmalıdır ve "A" harfi
ile başlamalıdır.
>= #1/1/96# And <#1/1/97# Girilen değer 1996 içinde olmalıdır.
Geçerlik metni ise, geçerli olmayan bir değer girildiğinde, kullanıcının
uyarılmasında kullanılacak metindir. Buraya yazacağınız metin,
kullanıcıya doğru veri biçimi hakkında kısa fakat anlamlı bilgi
vermelidir.
20
Gerekli: Bu özelliğin sağında belirecek aşağı oka basarak, Evet veya
Hayır’ı seçebilirsiniz. Bir alanı Gerekli hale getirirseniz, veri tablosunu
doldururken, Access bu alanın boş bırakılmasına izin vermez.
Yukarıdaki planlama örneğinde bazı alanların niteliğini kağıda dökerken
yanlarına “Boş bırakılabilir,” bazılarına ise “Boş bırakılamaz” notunu
koyduğumuzu hatırlıyor olmalısınız. Boş bırakılabilir alanlar için bu
kutuya “Hayır” (yani doldurulması gerekli değil!), boş bırakılamaz
alanlara ise “Evet” (yani doldurulması gerekli!) kaydını koymamız
gerekir.
Sıfır uzunluk İzni: Boş bırakılmasını önlediğiniz, yani gerekli alanların
boyutu sizin için önem taşıyor olabilir. Doldurulması gerekli alanların
doğru doldurulmasını sağlamanın bir yolu, alana girilecek değerin
boyunun sıfır olmasını önlemektir. Yukarıdaki örnekte geliştirdiğimiz
veritabanının kullanılabilir olması için en azından kişilerin ad ve
soyadlarının tabloda yeralması gerekir; aksi taktirde ortada tablo
denecek bir şey bulunmaz. Soyadı olmayan kişilerin ise adları ile
yetinemeyiz. O halde bu iki alanı hem gerekli yapar, hem de sıfır
uzunluk izni vermezsek, tablomuzu doldururken isteyerek veya kazayla
bu alanları boş bırakmamız tehlikesini önlemiş oluruz.
Sıralı (Endeks): Access ile oluşturduğumuz veritabanlarını işlerken
yapacağımız işlerin başında, tablolarımızdan belirli ölçütlere göre
seçmeler (sorgular) yaptırtmak gelecektir. Basit bir sorgunun hızla
tamamlanabilmesi için Access’in tablolardaki alanları önceden
endekslemesi yerinde olur. Bir alanın Alan Özellikleri bölümünde Sıralı
kutusunun sağındaki aşağı oku tıklarsanız, “Hayır” seçeneğinin yanı
sıra iki ayrı “Evet” seçeneği bulunduğunu göreceksiniz. “Hayır”
seçeneği, bu alanın önceden endekslenmesini önler. Bu alandaki
verilerin endekslenmesini sağlayan diğer iki seçenekten birincisi, “Evet
(Yineleme Var)”, Access’in oluşturacağı endekste, bu değerden birden
fazla olmasına imkan verir. Bizim örneğimizde, kişi ad ve
soyadlarından birden fazla olması ihtimali öngörüldüğüne göre,
endeksimizin tekrara izin vermesi gerekir. Bir alan, tablodaki kayıtların
benzersiz olmasını sağlayan Birincil Anahtar alanı olarak tayin
edildiyse, tekrara izin verilmemesi gerekir. Bunun için, bu kutudaki
endeksleme yaptırtan ikinci seçeneği, “Evet (Yineleme Yok)” maddesini
seçmemiz gerekir.
Unicode Sıkıştırma: Access 2000, Ofis 2000 ailesinin diğer üyeleri
gibi Unicode-uyumlu, yani içinde 65 bin 536 adet harf, rakam ve işaret
bulunan yazı tipi (font) sistemini destekler. Unicode uyumlu olmayan
programlar ise sadece 256 karakter içeren fontları kullanabilirler.
Metin, not ve köprü (Web adres bağlantısı) türündeki verilerinizde
21
Türkçe karakter bulunuyorsa, alan özelliğinde Unicode Sıkıştırma’nın
“Evet” olması gerekir. Bu durumda Access, bu alandaki veriyi
kaydederken her bir karakter için gerekli alanı (2 byte) ayıracaktır. Bu
tür alanlarınızda Türkçe karakter yoksa, Access dosyasının büyüklüğü
etkilenmeyecektir. Dolayısıyla Türkçe veritabanı oluştururken bu değeri
sürekli “Evet” ayarında tutmak dosya büyüklüğü bakımından olumsuz
bir etki yapmaz; sadece Türkçe karakterlerinizi korumuş olursunuz.
Alan Tanımları
Tablo tasarımında son nokta, tablolarımızı başkalarının da
kullanabileceğini gözönünde tutarak, tanım sütununa gerekli
açıklamaları yazmaktır. Tablolarımızı başkasıyla paylaşacak olmasak
bile, bir süre sonra alanlarımızın ne amaçla oluşturulduğunu hatırlamak
zor olabilir. Buradaki gibi “Adı,” “Soyadı” adını verdiğimiz alanların
işlevini hatırlamakta sorun olmayacağı düşünülebilir. Fakat verilerin
başka tablolardan alındığı durumlarda veya değerlerle ilgili uyarıcı
notların gerektiği durumlarda, Tanım satırlarına yazacağınız bilgiler işe
yarar. Tabloyu yaptıysanız, tasarım görünümünde son şekli şöyle
olmalı:
Arama Sihirbazı
Access’te veritabanı oluşturmanın birinci adımını attık: ilk tablomuzu
yaptık; alanlarını belirledik; alanların özelliklerini tayin ettik. Buradaki
örneği uyguluyorsanız, şimdi ikinci bir tablo oluşturmanız gerekir.
Bitmiş tasarım görünümüne bakarak, yukarıdaki bilgiler ışığında ikinci
tabloyu siz oluşturabilir misiniz?
Burada dikkat edilecek tek nokta, AileSıraNo adlı alanın içeriğinin
doldurulması için gerekli ifadeyi Arama Sihirbazı’na yazdırtmaktır.
Çocuklar tablosunun taramın görümünde ikinci alanın adını yazdıktan
sonra Veri Türü sütununda seçme okunu tıklayın ve açılan listeden
Arama Sihirbazını seçin.
Arama Sihirbazı’nın birinci dayalog kutusu, bu alana girilecek
değerlerin mevcut bir tablo veya sorgu sonucundan mı alınacağını,
yoksa bu değerleri sizin doğrudan mı yazacağınızı belirler. Buradaki
örnekte, veritabanımızda Çocuklar tablosunu doldururken, bu sütunun
yanında bir seçme oku belirmesini ve bu oku tıkladığımızda Aileler
tablosunda, Ailei Sıra No alanına girilmiş bütün değerlerin
gösterilmesini istiyoruz. Başka bir deyişle bu sütuna girecek bilgileri,
Aileler tablosundan alacağız. O halde, Arama Sihirbazı’nın ilk diyalog
22
kutusunda “Değerler tablo veya sorgudan alınsın” maddesini
işaretleyerek, İleri düğmesini tıklamamız gerekir.
Arama Sihirbazı’nın ikinci diyalog kutusu ise bir önceki tercihinize göre
ya veritabanınızdaki bütün tablo ve sorguların listesini içerir ve siz bu
listeden veri alacağınız tablo veya sorguyu seçersiniz; ya da seçme
yapacağınız veri listesini oluşturmanız için küçük bir tablo oluşturma
aracı açılır.
Veri seçme işini bir tablo veya sorgudan yapacaksanız bu tablo veyla
sorgunun adını seçerek, İleri’yi tıklayın. Veri seçme işini kendi
vereceğiniz değerlerle yapacaksanız, veri seçme listesi diyalog
kutusunda veri seçme listesinin tek sütunlu olduğunu göreceksiniz;
seçiminizi daha çok sütunlu bir listeden yapmak istiyorsanız önce yeni
sütun sayısını yazın; sonra aşağıdaki “Süt1” atdlı örnek sütunun adını
tıklayın; arzu ettiğiniz kadar sütun belirecektir; şimdi sçilecek değerleri
bu sütunlara ve satırlara girin ve İleri’yi tıklayın. Her iki yolda da
Arama Sihirbazı’nın üçüncü diyalog kutusunda, ya mevcut talo ve
sorgulardan seçtiğiniz ya da kendi oluşturduğunuz değerli içeren
alanlar kullanılabilir alan olarak sıralanacak ve Son’u tıkladığınızda
Arama Sihirbazı, tasarım penceresinin Alan Özellikleri bölümünde
Arama sekmesindeki değerleri dolduracaktır. (İlerde arama ve sorgu
konusunda uzmanlaştığınızda bu değerleri siz de doldurabilirsiniz.
Şimdilik sadece Arama sekmesinde Satır Kaynak Türü ve Satır kaynağı
kutularına yazılan ifadeleri inceleyin ve Access’in tablolara ve tabloların
alanlarına nasıl gönderme yaptığına dikkat edin.) Bu suretle
oluşturduğumuz otomatik değer seçme imkanını kullanmak üzere
Çocuklar tablosunu açtığımızda ve yeni bir girdi için Aile Sıra No
sütununda bir satırı tıkladığımızda, kutunun sağ kenarında bir seçme
oku belirdiğini görürüz. Bu oku tıkladığımızda ise açılan listede, bu ana
kadar Aile tablosunda Aile Sıra No sütuna girdiğimiz bütün değerleri
görürüz.
Tablo tasarımını öğrendiğimize göre, şimdi tablolara veri girme, veri
arama ve tabloların Access 2000 penceresi içinde görüntülenme
yöntemlerinden söz edebiliriz. Bir veritabanı ile veri-işleme başlamadan
önce verileri girmemiz gerekir!
Veri Düzenleme (Editing)
Access’te belki de en kolay yapacağınız iş, tabloya veri girmek olsa
gerek: yeni oluşturduğunuz veya önceden mevcut bir tabloyu,
veritabanı penceresinde açın ve başlayın sütunlara ve satırlara
gönlünüzden geçenleri yazmaya. Fakat bunun daha kolay yolları da
23
var. Önce veri tablomuzun ekrandaki penceresinde yapabileceğimiz
görünüm değişikliklerinden söz edelim. Veri tablosunu, adını iki kere
tıklayarak (Araçlar menüsünden Seçenekler maddesini ve Görünüm
sekmesinde “Tek tıklatmada aç” seçeneğini seçerek bunu
değiştirebilirsiniz), veya tabloyu seçtikten sonra Veritabanı
penceresinde Aç simgesini tıklayarak açabilirsiniz. Bir tablonun adını
sağ tıklayıp, açılacak menüden Aç maddesini de seçebilirsiniz.
Görünüm
Açtığınız bir veri tablosunun sütun genişliği, o alandaki verilerin
tümünü rahatça okumanıza engel oluyorsa, iki sütun başlığının
ortasındaki çizgiyi Mouse işaretçisi ile tutarak, sağa veya sola
oynatarak, sütun genişliğini değiştirebilirsiniz. Bu sırada Mouse
işaretçisi iki tarafında ok bulunan dikey çizgi şeklini alır.
Aynı şekilde satırlarınızın yüksekliğini de satır başlıklarının arasındaki
çizgiyi Mouse işaretçisiyle tutarak, artırabilir, azaltabilirsiniz. Bir
sütunun genişliğini değiştirdiğiniz zaman diğer sütunların genişlikleri
etkilenmez; ancak bir satırın yüksekliğini değiştirirseniz, bütün
satırların yüksekliği değişmiş olur. Sütun genişliklerinin Access 2000
tarafından otomatik olarak ve optimum ölçüde ayarlanmasını sağlamak
için sütun başlığının sağ sınır çizgisini iki kere tıklayabilirsiniz. Sütun
genişlikleri ve satır yüksekliklerini, sütunu ve satırı seçerek Biçim
menüsündeki ilgili maddeleri seçerek de yapabilirsiniz. Mouse
işaretçisini sütun veya başlığının üzerine getirin ve tıklayın (işaretçi
sütun başlığında iken imlecin kısa ve kalın bir aşağı ok şekline
döndüğünü göreceksiniz); şimdi sütun veya satır başlığını tıklarsanız,
bütün sütun veya satır seçilmiş olur. Biçim menüsünden Satır
yüksekliği veya Sütun genişliği maddesini seçerek ve açılacak diyalog
kutularına gerekli değerleri girerek, ayarları değiştirebilirsiniz.
Veri girmenizi ve verilenizi incelemenizi engelleyen, o sırada içeriğini
görmeniz gerekmeyen sütunları geçici olarak gizleyebilirsiniz. Sütunu
seçtikten sonra Biçim menüsünden Sütunları gizle maddesini
seçerseniz, Access 2000 bu sütunları geçici olarak ortadan kaldırır.
Yine Biçim menüsünden Sütunları göster maddesini seçerek ve açılacak
kutuda görüntülenmesini istediğiniz sütunların adının önüne işaret
koyarak, yeniden görünmelerini sağlayabilirsiniz.
Veri girme
Her veri tablosunun son satırı, yeni kayıt girmeniz için hazır sayılır.
Yeni bir kayıt girmek için, sütun başlığında bir yıldız simgesi bulunan
24
son satırın herhangi bir sütununa tıklayarak, klavyeden verilerinizi
girebilirsiniz. Aynı işi Araç buçuğunda Yeni Kayıt simgesini tıklayarak
da yapabilirsiniz.
Veri tablosu içinde kayıttan kayıda ve bir kayıtta alandan alana
geçebilmek için, Mouse işaretçisini arzu ettiğiniz kutunun içinde
tıklayabilirsiniz; klavyede ok tuşlarına, veya sekme ve Enter tuşlarına
basarak imleci arzu ettiğiniz yere götürebilirsiniz; bu tuşların imleci
yeni alanın başına mı, sonuna mı götüreceğini Araçlan menüsünden
Seçenekler’i ve orada Klavye sekmesini seçerek de belirleyebilirsiniz.
İlmecin içinde bulunduğu hücrenin satır başlığında bir kalem simgesi
belirir; bu o satırın edit edilmeye (düzenlenmeye, değiştirilmeye, ek
yapılmaya) hazır olduğunu gösterir. Bir mücrede varolan verinin
önüne, arkasına, içine yeni veri yazabilirsiniz; mevcut veriyi
silebilirsiniz; başka ylerde Windows panosuna kopyaladığınız metin,
sayı veya diğer unsurları Access hücrelerinize yapıştırabilirsiniz.
Windows Panosuna kopyalanmış unsur Access 2000 veritabanında
bulunması imkanı olmayan bir unsur ise Düzenr menüsünde
yapıştırmayla ilgili maddeler etkin olmaz; klavlede Ctrl+V tuşuna
basmanız da bu öğeyi Acces veri tablosuna yapıştırmaz.
Bir kaydı (satırı) veya bir alanı (sütunu) silmek için Düzen menüsünden
Kayıt Sil ve Sütun Sil maddelerini seçmeniz yeter. Araçlar menüsünder
Seçenekleri ve Düzen/Bul sekmesinde Onayla bölümünde hangi silme
işlemleri için Access 2000’in sizden oınay istemesini arzu ettiğinizi de
belirtebilirsiniz. Kayıt silme işlemi, onaylandıktan sonra veritabanına
kaydedilir ve bir daha geri alınamaz.
Veritabanındaki bilgilerin birbiri ile tutarlı olmasına bilgi tutarlılığı
(referential integrity) denir ve bunu korumak için Access 2000 bazı
sütunları ve tabloları silmenize izin vermez. Aşağıda ilişkilendirme
konusu ele alırken, bilgi tutarlığından söz edeceğiz. Bazı sütunları ve
satırları silmeye çalıştığınız zaman, ilişkileri korumak isteyen ve silme
işlemi dolayısıyla başka kayıtları ve sorguları silmek zorunda kalan
Access 2000, sizden onay isteyecektir.
Sıralama
Veri tablosundaki kayıtlar, belirli alanlar itibariyle artan veya azalan
sıraya sokulabilir. Sıralamak istediğiniz sütunu seçin ve Araç
çubuğunda artan veya azalan sıralama simgesini tıklayın. Bunu,
Kayıtlar menüsünde önce Sırala, sonra da Artan veya Azalan sıralama
maddelerini seçerek de yaptırabilirsiniz.
25
Sıralama işlemini sıralayacağınız sütundaki herhangi bir satırı sağ
tıklayıp,açılacak menüden, Artan Sıralama ve Azalan Sıralama
maddelerini seçerek de yapabilirsiniz. Artan sıra, sayılarda en küçükten
en büyüğe, tarihlerde en eskiden en yeniye, metinlerde ise A’dan Z’ye
demektir. Azalan sıra ise bunun tersidir. Access’te her bir satır bir kayıt
sayıldığı için bir sütunu sıraladığınız zaman o satıra ait diğer
hücrelerdeki bilgiler de sıralanan sütundaki hücre ile birlikte yeni
yerlerine giderler; böylece bir satırın hücreleri yer değiştirmemiş olur.
Arama ve Değiştirme
Veri tablolarınız bir değeri gözle aramanıza imkan vermeyecek kadar
büyük olabilir. Bu durumlarda bir değeri bulmak için Access 2000’in
yardımını isteyebilirsiniz. Araç çubuğundaki Bul simgesini tıklayarak
veya Düzen menüsünden Bul maddesini seçerek, arama
yaptırabilirsiniz. Access 2000’in bir yeniliği Bul ve Değiştir araçlarının
tek kutuda iki sekme halinde toplanmasıdır. İki sekme arasındaki
görünüm farkı Değiştir sekmesinde bulunacak değerin yerine
konulacak yeni değerin girileceği kutunun bulunmasıdır.
Bulma işlemi ya o sırada imlecin içinde bulunduğu bir alanda, ya da
tablonun tümünde yapılır. Bul sekmesinde Aranan kutusuna aradığınız
değeri yazın; aramanın yapılacağı yeri gösteren Bak kutusunun seçme
okunu tıklayarak, aramanın tablonun tümünde mi, yoksa imlecin
bulunduğu sütunda mı (imleç bir sütunda değilse, birinci sütunda)
yapılacağını belirtin. Eşleştir kutusunda ise aramanın yapılacağı alan
parçasını belirtebilirsiniz. Aradığınız değerin sadece alanın tümünü
olduğu durumların bulunması için bu kutuda Tüm Alan; alanın herhangi
bir bölümü olduğu durumların bulunması için Alanın Bir Bölümü; ve
verdiğiniz değerle başlayan alanların bulunması için de Alanın
Başlangıcı seçeneklerini seçmeniz gerekir.
Arama kontrollerinin tümünü görüntüleyerek arama kutusunu
büyütmeye yarayan Tümü düğmesini tıklarsanız, Arama yönünü
belirtebileceğiniz bir seçme kutusu ortaya çıkar. Buradaki
seçenekleriniz, aramanın imlecin bulunduğu noktadan yukarı veya
aşağı ya da tüm tabloda yapılmasını sağlar.
Bul kutusu genişlediğinde ortaya çıkan diğer bir kontrol unsuru ise
aranan kutusuna yazdığınız değerin büyük harf-küçük harf oluşu ile
bulunmasını istediğiniz değerin büyük hadrf-küçük harf oluşu arasında
ilişki kurup kurmamaktır. Eğer Access, sizin kullandığınız harflerin
büyük veya küçük oluşuna dikkat etsin istiyorsanız, Büyük Harf/Küçük
26
Harf Eşleştir kutusuna işaret koyun. Bu durumda, örneğin “tas”
değerini arattırdığınızda “Tas” ve “TAS” bulunmayacaktır.
Buradaki “Alanları biçimli olarak ara” kontrolü ise tarih/saat gibi veya
para birimi gibi belirli biçimlerde görüntülenen alanların, veritabanında
bulunduğu basit şekliyle değil, tablo tasarımı sırasında talep ettiğimiz
biçimde ele alınarak arama yapılmasını sağlar. Bunu biraz açalım.
Diyelim ki Tarih alanındaki değerlerimizin kısa tarih olarak
biçimlenmesini istiyoruz. Bu biçim, Access 2000 tarafından ancak bu
veri görünülendiği zaman uygulanır. Siz verileri “20-09-99” olarak
girmiş olabilirsiniz; ama tasarım sırasında bu alan için uzun tarih
biçimini seçtiyseniz, Access 2000, bu veriyi “20 Eylül 1999 Pazartesi”
olarak biçimleyerek görüntüleyecektir. Arama yaparken, arama değeri
olarak “20-09-99” yazar ve Access’ten bu değeri bulmasını isterseniz,
ve “Alanları biçimli olarak ara” seçeneği seçilmiş olursa, aradığınız
değer hiç bir zaman bulunamayacaktır. Çünkü Access sizin biçik
talimatına uygun olarak tarihleri uzun biçimde biçimliyor fakat siz kısa
tarih biçiminde aranacak değer veriyorsunuz. Oysa bu kutu
işaretlenmemiş olsa idi, Access verdiğiniz meşru tarih biçimini
tablosundaki bütün tarih biçimleriyle karşılaştıracak ve verdiğiniz tarihi
bulursa, bu kaydı size gösterecekti.
“Alanları biçimli olarak ara” seçeneği seçilmiş olarak yapılan aramalar
Access 2000’i olağanüstü yavaşlatır. Alanın bir bölümü” seçeneği ve
aranan yerin tüm tablo olması da Access 2000’in arama hızını düşürür.
Değiştirme, bulmaya dayanan ve bulunan değerlerin sizin vereceğiniz
bir değerle değiştirilmesi işlemidir. Değiştir aracının neleri
bulabileceğini, Bul aracını tanırken gördük. Burada sadece sağdaki
farklı kontrol düğmeleri üzerinde duralım.
Sonrakini Bul düğmesini tıkladığınızda Access 2000, sadece bulma
işlemini yapar; hiç bir şey değiştirmez. Aradığınız değerin doğru
bulunduğuna ve değiştirmenin verilerinize zarar vermeyeceğine emin
olduktan sonra Değiştir düğmesini tıklayabilirsiniz. Bu noktada
değiştirme işinden vazgeçerseniz, İptal düğmesini tıklayın. Değiştir
düğmesi, sadece bulunan değeri değiştirmekle kalmaz, varsa, bir
sonraki aranan değeri bulur. Tümünü Değiştir düğmesi ise tek tek
bulma-değiştirme yerine tablonuzdaki tüm aranan değerleri otomatik
olarak bulur ve onay gerekmeden değiştirir. Bu düğmenin gerçekten
hızlı çalıştığını göreceksiniz. Ama bu düğmenin bir özelliği daha var ki,
tıklamadan önce iki kere düşünmeniz yerinde olur: yaptığınız
değişiklikler kalıcı olur; geri alınmaz.
27
Süzme
Bul aracı ile verilerde araştırma yapmak mümkün olmakla birlikte, kimi
zaman belli bir ölçüte uygun tüm kayıtları birarada görmek
isteyebiliriz. Bunu Süz aracıyla yaparız. Sözgelimi, elimizdeki veride
sadece ikinci yarıyıl sınavında 5 alan öğrencilerin veya oturduğu yer
Tekirdağ olanların, sadece erkeklerin veya sadece kadınların
listelenmesini isteyebiliriz. Bunu yapmanın en kolay yolu Seçime Göre
Süzme yöntemidir. Süzme ölçütü olacak verinin bulunduğu kaydın,
ilgili alanını (sütununu) bulun ve Access 2000’e bu sütunda sadece bu
değeri içeren kayıtları göstermesini, diğerlerini göstermemesini bildirin.
Ölçük olarak kullanacağınız verinin bulunduğu sütunu tıklayın ve ya
Araç çubuğundan Seçime Göre Süz simgesini tıklayın, ya da
veritabanında bir yeri sağ-tıklayıp açılan menüden Seçime Göre Süz
maddesini seçin.
Veri tablosunun büyüklüğüne ve seçtiğiniz alanın endekslenmiş olupolmamasına göre, Access 2000, seçme ve sadece seçilenleri
görüntüleme işini sür’atle yapacaktır.
Listede sadece seçilen kritere uygun veri içeren kayıtlar yer alırken,
Araç buçuğundaki Süzgeci Kaldır simgesi de etkin hale gelecektir. Bu
simgeyi tıklayarak, tablonun tümünü görüntületebilirsiniz. Access
2000, tablonuza uyguladığınız son süzme işleminin ölçütünü unutmaz
ve bu simgeyi yeniden tıkladığınızda son süzme işlemi yeniden
uygulanır. (Süzgeci kaldırdığınızda bu simgenin etiketi Süzgeci Uygula
şeklinde değişir.) Bir tablonun tümünü değil sadece süzülmüş kayıtları
içerdiğini, tablonun alt kenarındaki “(Süzülmüş)” kelimesinden anlarız.
Bu kelimenin yanında kaç adet süzülmüş kayıt olduğu da gösterilir.
Seçme yoluyla süzme işlemi birden fazla alan veya değer ölçüt
kullanılaarak da yapılabilir. Diyelim ki seçme işlemini bir sınıftaki
öğrencilerin listesinde hem cinsiyet, hem de alınan nota göre
uygulamak istiyorsunuz. Bunu yapabilmek için, uygulayacağınız birden
fazla ölçüt veri değerinin tabloda yanyana sütunlara gelmesini
sağlayın. Bir sütunun tümünü seçer ve Mouse işaretçisiyle sütun
başlığını tutarak, işaretçiyi diğer iki sütunun arasına götürürseniz,
işaretçinin bulunduğu aralıkta koyu tonlu bir çizgi oluştuğunu
görürsünüz; Mouse işaretçisini burada bırakırsanız, sütun tümüyle bu
yere taşınmış olur. Bu suretle sütunları yanyana getirerek, arama
ölçütü olacak değerleri de birbirine komşu yapmış olursunuz. Şimdi,
Mouse işaretçisini ölçüt olacak verilerin en soldakinin veya en
sağdakinin üzerine getirin (işaret simgesinin kalın ve içi boş artı
işaretine döndüğüne dikkat edin) ve Mouse’un sol düğmesini tutun;
28
ölçüt olacak değerlerin sonuncusuna kadar sürükleyin. Ölçüt olarak
kullanacağınız bütün veriler seçilmiş olacaktır. Şimdi, ya sağ tıklayarak
ve açılan menüden Seçilenlere Göre Süz maddesini seçerek, ya da Araç
çubuğundan aynı adı taşıyan simgeyi tıklayarak, Access 2000’e çok
ölçütlü süzgeç uygulattırabilirsiniz.
Seçme yoluyla süzme işlemini, altalta kayıtların değerlerini ölçüt alarak
da yapabilirsiniz. Bunun için, Mouse işaretçisini bir satırdaki bir değerin
üzerine getirin ve işaret simgesi kalın ve içi boş artı işaretine
döndüğünde, Mouse’un sol düğmesini tutarak ölçüt olarak
kullanacağınız alttaki veya üstteki değerleri tarayın. Mouse’un
düğmesini bıraktığınızda altalta birden fazla değer seçilmiş olacaktır.
Şimdi yine sağ tıklama veya Araç çubuğunda tıklama yoluyla Access
2000’e Seçme yoluyla süzme işlemini yaptırtabilirsiniz.
Kimi zaman süzme işinde kullanacağınız değerler böyle kolay bir
şekilde seçme yoluyma belirtilemez ve daha ayrıntılı süzme ölçütleri
uygulamak isteyebilirsiniz. Bunun için Form Süzgeci yöntemini
kullanmanız gerekir. Bu aracı, Kayıtlar menüsünden önce Süz ve sonra
Form Süzgeci maddesini seçerek açabilirsiniz. Form Süzgeci açıldığı
anda açık olan tablonun yerini alır. Bu yeni tabloda, solda, altta birincil
ölçütü belirteceğiniz Ara, ve ikincil, üçüncül ölçütler için bir çok “Veya”
sekmesi göreceksiniz.
Süzme ölçütünü tanımlamaya Ara sekmesinden başlamak gerekir. Bu
sekme seçili iken, tabloda sıralanan alan adlarının altındaki hücreyi
tıklarsanız, sağda seçme okunun görüntülendiğini göreceksiniz. Bu oku
tıklayarak, tablonuzda bu alana girişmiş tüm değerleri görebilirsiniz.
Burada istediğiniz kadar seçim yapabilirsiniz. Yine öğrenci tablosu
örneğine dönersek, cinsiyet sütunundan “Kadın,” birinci yarıyıl sınavı
notları sütunundan “5,” ikinci yarıyıl sınavı notları sütunundan “3”
değerlerini seçebilirsiniz. (Bu durumda tablonuzdaki bütün kadın
öğrencilerden birinci sınavda 5 ikinci sınavda 3 alanlar seçilmiş
olacaktır). “Veya” sekmelerini tıklayarak süzgecin kapsamını
genişletmek mümkündür. Sözgelimi, sınıftaki kadın öğrencilerden
birinci yarıyıl sınavında 5 “veya 4 veya 3 veya 2 veya 1 veya 0”
alanları seçmek isteyebilirsiniz. Her “veya” ölçütünden sonra Form’un
sol alt kenarına yeni bir Veya sekmesi eklendiğine dikkat edin.
Notlarınızı tam sayı olarak değil de kesirli olarak veriyorsanız,
süzmenin amacı zayıf durumdaki öğrencileri belirlemek olduğu halde
bu son yöntemde örneğin 4,5 alanları göremezsiniz. Bunu sağlamak
için bütün not ihtimallerini kapsayan “Veya” ölçütleri doldurmak
gerekir. Oysa süzme ölçütlerini seçerek değil yazarak verebilir ve
29
standart karşılaştırma işlemcilerini kullanarak, bütün ihtimalleri
kapsayabilirsiniz. Bunun için, örneğin Birinci Yarıyıl Sınav Notları
sütununun boş hücresine “<=4,9” (tırnaklar olmadan) yazarsanız,
Access 2000 notu 5’den aşağı bütün öğrencileri bulacaktır. Burada
dikkat edilecek nokta önce mukayese işlemcisinin, sonra değerin
yazılmasıdır. Access 2000, standart mukayese işlemcilerini kullanır:
> Büyük
< Küçük
= Eşit
<= Küçük veya eşit
>= Büyük veya eşit
<> Eşit değil
Ölçütlerinizi belirttikten sonra Araç çubuğundan Süzgeci Uygula
simgesini tıklayarak süzülmüş kayıtlarınızı görebilir; işiniz bittiğinde
süzgeci kaldır simgesini tıklayarak asıl tablonuza dönebilirsiniz.
Gelişmiş Süzme Sıralama
Genellikle süzme işleminden sonra süzülmüş kayıtları içeren yeni
tablonun bir alana göre sıralanması (örneğin öğrencilerin artan veya
azalan not sırasına sokulması) gerekebilir. Süzülmüş kayıtları içeren
geçici tablonun herhangi bir sütununu seçerek sıralama işlemi
yaptırabilirsiniz. Fakat süzme ve sıralama işlemini, Kayıtlar
menüsünden önce Süz, sonra Gelişmiş Süzme/Sıralama maddesini
seçerek bir kerede yaptırtabilirsiniz. Bu maddeyi seçtiğiniz Access
2000, bu amaçla tasarlanmış özel bir Sorgu tasarım penceresi
açacaktır. Bu teknikten yararlanmayı, Sorgu bölümünde ele alacağız.
Formlar
“Access’te bir tabloya veri girmenin kestirme yolu, tabloyu açıp, en alt
satırdan itibaren verileri yazmaktır!” dedik. Fakat yanyana yüzlerce
sütunu bulunan bir tabloda bunu yapmak kolay olmaz. Tablonun
Access penceresinin dışında kalan sütunlarını görüntüye getirmek için
sürekli kaydırma çubuğunu tıklamak zor olabilir. Oysa Access bize veri
girme ve düzenleme işini form yoluyla yapma imkanı veriyor. Form, bir
tablonun bir kaydının içeriğini (veya boş bir kayıt satırını) bir çok
kontrolle birlikte tek pencerede toplayabilen bir araçtır. Formun eniboyu da Access penceresinden büyük olabilir; fakat formun biçimini
belirlemek, alanların nerede ve ölçüde görüneceğine karar vermek
imkanı vardır. Ayrıca formun üzerine veri girmeyi kolaylaştıran ve
kaydın parçası olmayan yardım ifadeleri yazabilir, grafiklerle formu
30
süsleyebilirsiniz. Formda, Sil, Kaydet ve benzeri komutlar içeren
düğmeler olabilir. Normal olarak formun her sayfası sadece bir kayıt
içerir. Dolayısıyla dikkatinizi bir kayıt üzerinde toplayabilirsiniz. Oysa
veritabanı penceresindeki tablo açıldığında görüntüye sığdırabildiği
kadar kaydı sığdırır. Bu çoğu zaman bir kayıtla ilgili inceleme yapmayı
zorlaştırır. Form, veri girmeyi mantıksal bir düzene bağlayabilir ve
kolaylaştırabilir.
Otomatik Form
Access 2000, herhangi bir tabloyu anında forma çevirebilir. Form
konusunu kavramak için en kestirme yol, açık veritabanında bir
tabloyu açıp, Access’e bu tablodan otomatik form yapması talimatını
vermektir. Bunun için Araç çubuğunda Yeni Nesne simgesini
tıklamaktır. Bu araç, son yaptığınız işi hatırlar ve etiketinde bunu
belirtir.
Access 2000, açık tablodaki bütün alanları, içine bilgi yazılacak kutular
haline getirir; ve bunların önüne sütun başlığı olan alan adlarını etiket
olarak koyar. Oluşturulan formda, kayıtlar arasında gezinmeyi
bağlayacak kontroller, ve yeni kayıt için boş form edinme düğmeleri
vardır. İşte yukarıdaki tablonun otomatik form haline getirilmiş
görünümü:
Burada, bu formun başlığında ait olduğu tablonun adını görüyorsunuz.
Aynı anda birden fazla tabloya veri girişi yapmakta kullandığınız form
varsa, başlıklarıo anda hangi tabloya giriş yaptığınızı gösterir. Formun
“kutuları” arasında klavyede sekme veya Enter tuşlarına basarak
ilerleyebileceğiniz gibi, Mouse işaretçisini arzu ettiğiniz alanın içinde
tıklayabilirsiniz. Geride kalan bir alana gitmek için klavyede üst
karakter (büyük harf, Shift) tuşunu tutarken, Sekme tuşuna basın.
Formda, otomatik sayı olarak belirlenmiş alanlara yazı yazamazsınız;
aynı şekilde Access’in değerini hesaplayarak bulduğu alanlara da
klavyede değer giremezsiniz. Yeni kayıt için boş form açtığınızda
otomatik sayı alanının içinde “(Otomatik Sayı)” ifadesini göreceksiniz.
Bir formda imleç son kutuda iken klavyede Enter veya sekme tuşuna
basarsanız veya imleç herhangi bir yerde iken Mouse işaretçisiyle
başka bir kayda gitmek için gezinme düğmelerini veya yeni kayıt
simgesini tıklarsanız, içinde bulunduğunuz kayıtta değişiklik
yaptıysanız bu tabloya işlenir. (Bu işlem geri alınmaz.). Bir kaydın
içinde iken klavyede üst karakter tuşunu tutarken Enter’a basarak,
kayıtta yaptığınız değişikliği tabloya kaydetebilirsiniz. Bunu Kayıtlar
menüsünden “Kaydı kaydet” maddesini seçerek de yapabilirsiniz.
31
Bir formda görüntülenen kaydı silmek de mümkündür. Bunun için araç
çubuğundan Kayıt Sil simgesini tıklayabilirsiniz. Aynı işlem Düzen
menüsünden Kayıt Sil maddesini seçerek de yapılabilir. Kayıt silme
işlemi geri alınmaz. Bir formda kayıt silmeye çalıştığınız sırada bu işlem
veritabanınında bilgi tutarlılığa açısından başka tablolarda ve
sorgularda silme gerektirecekse, Access 2000 sizden onay isteyecektir.
Tablo görünümünde yapabildiğiniz bütün sıralama ve süzme işlemleri
form görünümünde de yapılabilir.
Formun birinci görevi veri girmeyi kolaylaştırmak olduğu halde, bir
kaydı içeren formu, yazdırabilirsiniz. Bunun için klavyede Ctrl tuşunu
tutarken P tuşuna basmak veya Dosya menüsünden Yazdır maddesini
seçmek yeter. Formun kağıt üzerinde nasıl görüneceğini Dosya
menüsünde Baskı Önizleme maddesini seçerek, inceleyebilirsiniz.
<B
Access’te yeni bir form oluşturmak için çeşitli yollar vardır. Bunlardan
biri, Veritabanı penceresinde Nesneler listesinden Formlar’ı tıklamak ve
açılacak Form nesneleri penceresinde ya tasarım görünümünde ya da
Sihirbazı kullanarak form oluşturma yöntemini seçmektir. Form
nesneleri penceresinin araç çubuğunda Yeni simgesini tıklayarak daha
çok seçenek bulunan Yeni Form oluşturma aracını açabilirsiniz.
Bu seçeneklerden Tasarım Görünümü, seçeceğiniz bir tabloya dayanan
ve sıfırdan form oluşturmanızı sağlayacak aracı çalıştırır. Form
Sihirbazı ise, sizden form için gerekli seçmeleri yapmanızı ister ve
formu kendisi tasarlar. Üç ayrı otomatik form oluşturma aracı ile Grafik
Sihirbazı ve Excel-vari özet tablo oluşturma aracını da Yeni Form
kutusunda bulacaksınız. Access 2000’de tasarım görünümünde form
oluşturmaya başlamadan önce, otomatik bir form oluşturup, bunu
tasarım görünümünde açmak, form yapımı için daha eğitici olur. Bir
tablo açıkken otomatik form oluşturun ve bu formu kapatın; Access
onay istediğinde yeni form olarak kaydetmesine izin verin. Sonra
Veritabanı penceresinde Formlar nesnesini seçin ve biraz önce
kaydettiğiniz yeni formu seçip, araç çubuğundan Tasarla simgesini
tıklayın. Access, formu tasarım görünümünde açarken yanına bir de
Araç kutusu açacaktır.
Tasarım görünümündeki formun en belirgin özelliği zeminin kılavuz
çizgilerle kaplı olmasıdır; formda yeralacak nesnelerin kılavuz
çizgilerine yaslanması, nesnelerin görsel olarak düzgün ve hizalı
görünmesini sağlar. Araç kutusundaki Nesne seçici (ok biçiminde) ile
32
formdaki nesneleri seçer, ve Mouse düğmesini basılı tutarak,. form
üzerinde yeni yere taşıyabilirsiniz. Denetim Sihirbazı denen işaretçiyi
seçer ve forma yerleştirdiğiniz bir nesneyi ve Araç Kutusu’ndaki bir
nesne simgesini tıkladıktan sonra formu tıklarsanız, bu nesnenin
yapılandırılmasında size yardımcı olacak bir dizi diyalog kutusu açılır.
Sihirbaz, seçtiğiniz denetim ögesinin özelliklerini belirlemek için sizden
ve formun dayalı olduğu tablodan bilgiler derleyecektir.
Bir formda yer alabilecek denetim ögeleri, Araç Kutusu’nda sıralanmış
bulunuyor. Bunları kısaca ele alalım:
Etiket Formdaki bir veri alanını niteleyen başlık olabilir; veya formu
kullanarak veritabanına veri girecek olan kullanıcıya yolgösteren
yardım metinleri içerebilir.
Metin kutusu Bu formun bağlı olduğu tablo veya tablolara veri girme
noktalarıdır. Metin kutusunun özellikler penceresini açarak, bu kutuya
girilecek bilgilerin veritabanında hangi tabloda hangi alana kayıt olarak
işleneceğini belirlersiniz.
Seçenek grubu Formunuzda içinden seçme yapabileceğiniz ve bir
alana bir değer atayan seçenekler içerir. Siz seçeneklerden hangisini
seçerseniz, o seçeneğe vermiş olduğunuz değer tayin ettiğiniz bir alana
yazılır.
Seçenek düğmesi Genellikle “kadın/erkek” gibi bir seçeneğin
seçilmesini sağlar; seçeneğin değeri tayin ettiğiniz alana yazılır.
Değiştirme düğmesi Formda basılmış veya basılmamış düğme
görünümleri arasında gider gelir ve tıklandığında içerdiği değeri ait
olduğu alana yazdırır.
Onay kutusu İçerdiği değeri içine işaretü konduğunda ait olduğu
alana yazdıran bir denetimdir.
Açılan kutu Ya oluştururken sizin vereceğiniz sabit değerleri, ya da bir
tablo veya sorgunun oluşturduğu değerleri içerir ve formu dolduran kişi
tarafından seçilen değer, ait olduğu alanr yazılır.
Liste kutusu İçindeki değerleri liste halinde gösterir; kullanıcının
işaretlediği değer ait olduğu alana yazılır.
Komut düğmesi Access’in kullanıcıya sunduğu herhangi bir komutu
yerine getirebilecek, düğme şeklindeki simge. Örneğin bir formu
kaydetmek veya silmek için kullanılabilir.
Resim Formunuza işlevsel veya süsleme amacıyla resim koymanız için
alan oluşturur.
İlişkisiz OLE Nesnesi Windows OLE-uyumlu herhangi bir programın
dosyasını görüntülemenizi sağlayan pencere açar. Burada
görüntelenecek başka program dosyasının veritabanınızla bir ilişkisi
yoktur; form yoluyla bir kayıttan diğerine gidildiğinde bu nesre
değişmez.
33
İlişkili OLE Nesnesi Windows OLE-uyumlu herhangi bir programın
dosyasını görüntülemenizi sağlayan pencere açar. Burada
görüntelenecek başka program dosyasının veritabanınızla ilişkisi
kurulmuştur; bu alandaki nesne kayıttan kayıda gidildiğinde değişir.
Sayfa sonu Bir sayfadan fazla form oluşturmak istediğiniz zaman,
formun kesilmesi ve yeni bir form sayfasının başlamasını sağlar.
Sekme denetimi Windows’un sekmeli denetim ve diyalog kutuları gibi
formlar yapmanızı sağlar. Sekmenin açtığı alana diğer form ögelerini
yerleştirebilirsiniz.
Alt form Bir form yoluyla kayıtlarızda değişiklik yaparken, bağlı bir
başka bir tablonun denetimini sağlayan ikinci bir form açılmasını
sağlar. Böylece aynı anda bağlı tabloda da değişiklik yapabilirsiniz.
Çizgi ve diktörgen Formlarınızı kullanıl kolaylığı sağlamak amacıyla
mantıksal gruplara ayırmasını sağlayan düz çizgi ve dikdörtgen
çizimleri sağlar.
Yeni bir form tasarımına başladığınızda, araç kutusundaki denetim
araçlarını formunuza yerleştirmiş olmanız, formda yapacağınız
değişikliklerin herhangi bir tabloya işleneceği anlamına gelmez.
Formun kayıt yapabilmesi için denetimlerin, mutlaka bir tablonun veya
sorgunun alanlarına bağlanması gerekir. (Bağlı olmayan denetimler de
olabilir. Onlara birazdan değineceğiz.) Form tasarımı sırasında
Görünüm menüsünden alan listesi maddesini seçerseniz, formu
oluşturmaya başladığınız sırada seçtiğiniz tablodaki bütün alanların
listesini görebilirsiniz. Bu listedeki bir alanı Mouse işaretçisiyle tutarak,
inşa halindeki formun üzerine bırakarak, kolayca bağlı denetimler elde
etmek mümkündür. Bir diğer deetimle alan bağlama yolu ise denetimin
Özellikler kutusunda Denetim Kaynağı satırına tablo ve alan adı
yazmaktır.
Denetim ögelerinin özellikler kutusu, denetim sağ tıklanarak ve
açılacak menüden Özellikler maddesi seçilerek görüntülenebilir. Ayrıca
Form tasarımı penceresi açıkken Görünüm menüsünden Özellikler
maddesini de seçebilirsiniz. Özellikler kutusu, seçili denetimin
alabileceği bütün özellikleri içerir. Örneğin bir metin kutusunun tam 60
ayrı özelliği vardır. Özellikler, kutunun üzerindeki sekmelerle gruplara
ayrılmıştır. Veri sekmesinde, denetim unsuru ile tablonun alanları
arasında veri-bağı kurmanızı sağlayan özellikler vardır. Bu özelliklere
Tümü sekmesinde de ulaşabilirsiniz. Veri ile bağlanabilecek bir
denetimin Özellikler kutusununda denetim kaynağı satırının sağında iki
seçme simgesi vardır.
Bunlardan aşağı oku tıkladığınızda, formu oluşturmaya başladığınızda,
bir tablo seçtiyseniz o tablonun alanlarını göreceksiniz. Form
34
oluşturmaya başlarken bir tablo seçmediyseniz, bu oku tıkladığınızda
karşınıza boş bir satır gelir. Özellikler kutusununda denetim kaynağı
satırının sağındaki ikinci seçme simgesi ise yanyana üç nokta şeklinde
“deyim oluşturucusu” simgesidir. Bu simgeyi tıkladığınızda Deyim
Oluşturucusu diyalog kutusu açılır.
Bu diyalog kutusunda, üstte deyim oluşturmaya ayrılan bol alan ile
altta yanyana ve birbirine bağımlı üç pencere göreceksiniz: en solda
veritabanında mevcut bütün tablolar, sorgular, formlar, raporlar,
Access’in kullanılmaya hazır ve 16 grup halinde ayrılmış (aritmetik
ortalamadan, tanjant hesaplamaya, tarih çevirmekten, sayı saymaya
kadar) 188 işlevi, sabit değerler (boş, doğru, yanlış gibi), 20 adet
matematik ve mantık işlem işaretleri (işleçleri, operatörleri), ve ortak
değerler (sayfa numarası, toplam sayfa sayısı, o andaki tarih veya
tarih/saat, ve o andaki kullanıcı adı) yer alır. Bu pencerede seçtiğiniz
grubun alt grupları ortadakinde, ortada seçtiğiiz alt grubun içindekiler
ise en sağdakinde görüntülenir. Bir tablonun bir alanını, denetim
unsuruna veri kaynağı yapmak için, en soldaki pencerede Tablolar
satırını iki kere tıklayın; ortada veritabanının bütün tabloları
listelendiğinde arzu ettiğiniz tabloyu iki kere tıklayın. En sağda
tablonun bütün alanları listelenecektir. Arzu ettiğiniz alanı iki kere
tıkladığınızda, alanın adı, tablonun adıyla birlikte, üstteki Deyim
oluşturma alanına yazılacaktır. Tamam’ı tıkladığınızda bu “deyim,”
denetimin Özellikler listesinde Denetim Kaynağı olarak gösterilmiş olur.
Bu andan sonra formunuzun bu alanına yazacağınız veri, seçtiğiniz
tabloda seçtiğiniz alana kaydedilir.
Form oluşturmaya başlarken bir tablo seçmiş olsanız bile, bir forma
birden fazla tabloya bilgi kaydetme görevi verebilirsiniz. Bir form,
veritabanı içindeki bütün tablolara bilgi kaydedebilir.
Böylece Access’te veritabanı oluşturma işinin birinci aşaması olan tablo
tasarımını ve veri girmeyi, veriişlemin ilk adımı olan sıralama ve
süzmeyi ve veritabanımızla daha kolay çalışma aracı olan formları
tasarlamayı öğrendik. Şimdi, veri-işlemin gerektirdiği diğer işlere
geçebiliriz. Bu işlerin başında tablolarımız arasında ilişki kurmak,
Anahtarları belirlemek ve endeksleri (dizinleri) oluşturmak geliyor.
İster insanlar arasında, ister tablolar arasında olsun, ilişki zor şeydir;
itina ve dikkat, önceden planlama ve sihirli bir anahtar ister!
İnsanlararası ilişkide sihirli anahtar nedir sorusunu Access 2000’e
ayrılmış bu kitapta ele alamayız. (Zaten bu konu bu kadar bir
kitapçığın kapsamını aşar.) Fakat hemen belirtebiliriz ki, Access’te
başarılı bir veri-işlemin sihirli anahtarı Birincil Anahtar’dır: tablolar
35
arasındaki ilişkiyi bu Anahtar ile kurarız, ve göreceğimiz gibi, daha bir
çok kapıyı bu anahtarla açarız.
İkinci bölümdeki alıştırmayı yaptıysanız, oluşturduğunuz her tablonun
tasarım görünümünü kapatırken, Access 2000’nin bu tabloda bir
Birincil Anahtar tayin edilmediğini vurgulayarak sizden ısrarla bir alanı
Birincil Anahtar olarak belirleminizi istediğini görmüş olmalısınız.
Neden? Çünkü birincil anahtar her tabloya, daha sonra bir başka tablo
ile ilişkilendirmek istediğinizde bu ilişkide özgün kişiliğini verecektir.
Birincil anahtar olarak belirlenen alandaki bilgilerin benzersiz olması
gerekir. Access sizi buna zorlamaz, ama birincil anahtar alanındaki
bilgileriniz her kayıt için benzersiz değilse, neden birincil anahtar
olarak atamış olabilirsiniz? Birincil anahtar, bir kaydı, bir başka
tablodaki bir kayıtla birleştirmekte kullanacağımız anahtardır. Birincil
anahtarın diğer işlev ve yararlarına kısaca değindikten sonra kayıt
birleştirmedeki rolüne döneceğiz.
Her tablonun bir, ama sadece bir, Birincil Anahtarı olabilir. Access
2000, her tablonun birincil anahtarını otomatik olarak endeksler (ve bu
sayede veritabanı daha hızlı çalışır). Tablonuzda siz bir alanı Birincil
Anahtar olarak atamadıysanız, Access 2000 bir birincil anahtar alanı
oluşturmak ister; bunu onayladığınızda bir otomatik sayı alanı açar;
tablonuzda zaten birinci alanda otomatik sayı türü bir veri varsa,
Access 2000 bu alanı birincil anahtar olarak atar. Bu sebeple, iyi bir
tablo tasarımı ilerde kullanmayacak bile olsanız, birinci alanı otomatik
sayı olarak belirlemeyi gerektirir.
Birincil anahtar, hemen hemen daima sadece bir alandan oluşur. Fakat
Access 2000, ancak çok pahalı veritabanı Server programlarının
yapabileceği bir imkana da sahiptir: veri-işlem işiniz birden fazla
alandan oluşan Birincil anahtar kullanmanızı gerektiriyorsa, bunu
yapabilirsiniz. Çok-alanlı Birincil Anahtar, ileri düzeyde veri-işlem ve
sorgulama bilgisi gerektirir.
Her veri türü birincil anahtar olamaz: birincil anahtar olarak
kullanamayacağınız veri türleri, Internet adres bağlantısı (köprü), OLE
ve not türleridir. Buna göre, metin, sayı, tarih/saat, para birimi,
Evet/Hayır, ve otomatik sayı alanları birincil anahtar olarak
kullanılabilir. Tablolarınız, birincil anahtar alanına göre otomatik olarak
sıralanır. (Eğer bir Evet/Hayır alanını birincil anahtar yapmaya
kararlıysanız, tablonuzda en fazla iki kayıt olması gerekir. Neden?)
Birincil anahtarın tabaloda birinci alan olması gerekmez; herhangi bir
alan birincil anahtar olabilir. Fakat kendinizi tabolalarınızda birincil
36
anahtar arama zorluğundan kurtarmak için daima birinci alanı birincil
anahtar yapacağınız veriye ayırmanız iyi bir alışkanlık olur.
“Tablomda hangi alanı birincil anahtar yapmalıyım?” sorusu kaçınılmaz
olarak sorulacak sorudur. Bu sorunun bir cevabı olabilir: Benzersiz veri
içeren alanlardan birini birincil anahtar yapın. Birincil anahtar
seçiminde anahtar kelime, “benzersiz” kelimesidir! Seçeceğiniz
alandaki veri, her kayıt için özgün olmalıdır; başka hiç bir kayıtta
tekrar etmemelidir. Kişilerin adlarını, soyadlarını içeren alanlar özgün
olamaz. Öğrenci numaraları, araç plaka numaraları da bir kaç yıl sonra
tekrar başka öğrenciye veya araca verilebilir. Telefon numaraları bir
ülke için özgün olabilir (her bölgenin kodu farklı olacağı ve aynı bölge
kodunda benzer numara bulunmayacağı için), ama veritabanınızda
örneğin bölge kodu aynı olan Istanbul ve New York kentlerindeki
dostlarınızın telefon numaraları varsa, zor bir tesadüf bile olsa, aynı
numara bulunabilir.
Birincil anahtar alanı belirlerken, tablonuzda özgün-benzersiz veri
bulunan alan arayın. Bütün alanlarınızdaki verilerin tekrar etmesi
ihtimali varsa, yeni bir alan açın ve içine otomatik sayı koyun.. Gerisini
Access 2000 düşünsün!
Bir tabloda birincil anahtar alanı tayini son derece kolaydır. Tabaloyu
tasarım görünümünde açın; birincil anahtar olarak atamak istediğiniz
alanın adının bulunduğu kutuyu sağ-tıklayın ve açılacak menüde birinci
madde olan Birincil Anahtar maddesini seçin. Bu alanın adının
önündeki kutuda küçük bir anahtar simgesi belirecektir.
Birincil anahtarın veritabanı için önemini ortaya koyacak küçük bir
deney yapalım ve sonra birincil anahtarın birincil görevi olan tablo
ilişkilendirme konusuna dönelim.
Yukarıdaki alıştırmayı yaptıysanız Çocuklar tablosunu (veya herhangi
bir alanı Birincil Anahtar olarak tayin edilmiş bir başka tabloyu) açın,
ve yeni bir satırda birincil anahtar alanına mevcut değerlerden birini
tekrar yazın. İşinizin bittiğini belirtmek üzere başka bir hücreyi
tıklayın; Access 2000 hemen hata mesajı verecektir:
Birincil anahtar alanındaki verinin özgün olması gerekir; yoksa bu
anahtar aslî görevini yapamaz.
Tablolar arasında ilişki kurmak suretiyle, veritabanı dosyamızı düz
veritabanı olmaktan kurtardığımızı söylemiştik. Tablolar arası ilişki,
Access 2000’in daha hızlı sorgu icrası yapmasını sağlar; veri-işlem
37
işlerimiz daha verimli olur. Bu sayede verilerimizi güncelleştirirken,
bütün tabloları elden geçirmek ve hatta yeniden girmek zorunda
kalmayız; sadece güncelleştirilmesi gereken tabloya ek veya bu
tabloda değişiklik yaparız.
Bir firma düşünelim: en az 200 firmadan hammadde alıyor ve en az
500 bayie mamül madde veriyor. Bu firmaların adreslerinden, alınan
hammadde ve verilen mamül maddelerin özelliklerine kadar, diyelim ki
2 bin sütun dolduran verilerimizi tek tabloda topladığımızı varsayalım.
Böyle bir tabloda, aldığımız mallara ilişkin bilgi sütunları, sattığımız
mallara ilişkin satırlarda boş kalırken, sattığımız mallara ilişkin bilgi
sütunları aldığımız mallara ilişkin satırlarda boş bırakılmak zorundadır.
Bu hem gereksiz yere şişkin bir veritabanı dosyasına yol açar, hem de
veri girişinde sayısız hatalara sebep olur. A firmasından aldığımız yeni
bir mala ait yeni bir kayıt girerken, firmanın adından adresine, faks
numarasından posta koduna kadar bütün bilgileri yeni satıra tekrar
yazmak zorunda kalırız. Bu, yeni yazım hatalarına davetiye çıkartmak
demektir. Tekrar eden bu bilgilerin dosya boyutuna bindireceği yükü
düşünün!
Oysa elimizde bir firmalar tablosu, bir de mallar tablosu bulunsa; her
bir malın hangi firmadan alındığı veya hangi firmaya verildiğini
gösteren alana, firmalar tablosunun birincil anahtarından bağ kursak,
hem tekrar-tekrar veri girişinin yol açacağı insanî hatalardan korunmuş
oluruz (bu bilgileri girecek operatörlere vereceğiniz ücreti de
unutmayın!), hem de işlenmesi kolay nisbeten küçük veritabanı
dosyasına sahip oluruz.
Verilerimizi tek tabloda toplamanın sakıncalarını anladık. Ve diyelim ki
elimizde böyle, beş veya altı tabloya bölünmüş bir veritabanı var.
Şimdi, son 3 ay içinde mal aldığımız firmaların bir dökümünü çıkartmak
istiyoruz. Beş-altı ayrı tabloyu mu kağıda dökeceğiz? Bu ayrı ayrı
tablolara bölünmüş bilgileri nasıl birleştireceğiz? Başka bir deyişle, ayrı
tablolara böldüğümüz verileri işare yarar, anlamlı diziler haline
getirmek için nasıl birleştirebiliriz? Bunu, tabloları herbirinin diğeri için
anlamlı tek özgün alanından, yani Birincil Anahtarlarından birleştirerek
yapabiliriz. Veritabanınızı bu birden fazla tabloya bölerek ve herbirine
özgün birincil anahtar alanları koyarak tasarlasanız bile, aynı veritabanı
içinde yer alıyorlar diye tablolarınız kendiliklerinden ilişki kurmazlar.
Bunu bizim sağlamamız gerekir. Kendi tablolarımızda kendi
ilişkilerimizi oluşturmadan önce, Access 2000’nin bunu nasıl sağladığını
görmek, ilişki konusunda bize daha iyi fikir verecektir. Bunun için
Access 2000’i çalıştırın; Yeni veritabanı oluşturmak üzere açılan
pencerede Veritabanları sekmesini seçin ve Stok Yönetimi şablonunu
38
işaretleyin. Yeni boş stok yönetimi veritabanınız oluşturulduğunda,
eğer Access penceresi içinde küçültülmüş durumda ise veritabanı
penceresini büyütün; Switchboard adı verilen veritabanını kullanmanız
için oluşturulan grafik arayüzü kapatın. Stok Yönetimi1 adlı yeni stok
yönetimi veritabanınızın nesnelerinden Tablolar’ı seçtiğinizde, yedi adet
aslî tablo oluşturulduğunu göreceksiniz: Ürünler, stok hareketleri,
kategoriler, çalışanlar, sipariş formları, üreticiler ve nakliye yöntemleri.
Stok yönetimi konusu ile hiç ilginiz yoksa bile, sadece ilişki konusunu
kavramak için, bu tabloların bir firmanın elindeki stokları takip için
gerekli ve yeterli olduğunu varsayalım.
Şimdi, Araçlar menüsünden İlişkiler maddesini seçin. Karşınıza şuna
benzeyen bir pencere açılacaktır:
Açılan penceredeki kutular arasındaki çizgiler buradaki görüntüye
benzemiyorsa, kutuları Mouse işaretçisiyle başlıklarından tutarak
sürükleyebilir ve konumlarını buradakine benzer şekle getirebilirsiniz.
Bu pencerede, kutuların başlığının tablo adlarını içerdiğine dikkat edin.
Kutuların içindeki maddeler ise tablolardaki alanların adlarıdır. Her
tablonun kutusunda bir alan adının koyu yazıldığını görüyor musunuz?
Bu, o tablonun birincil anahtarı olan alandır. Bazı alanlardan çıkan
çizgilerin diğer bir kutudaki alana bağlandığını görüyorsunuz. Dikkat
ederseniz, aralarında çizgi bulunan alan adlarının aynı olduğunu da
göreceksiniz. Bu çizgilere ilişki denir; tabloların birbirleri ile hangi
alanlarından ilişkide olduklarını gösterir. Şemaya veya Access İlişkiler
Penceresi’ne tekrar bakarsanız, ilişki çizgilerinin bazılarının sol ucunda
“1,” sağ ucunda sonsuz işaretinin bulunduğunu, bazı ilişkilerde
işaretlerin yer değiştirdiğini ve diğerlerinde ise çizgilerin işaretsiz
olduğunu göreceksiniz. Bu işaretler kurulan bağın niteliğini gösterir;
bağın niteliği ise daha sonra iki tablo arasında yapılabilecek
birleştirmede hangi kayıtların hangi kayıtlarla birleştirileceği veya
Access’in deyimiyle eşleştirileceğini tayin eder. Bu tanımla biraz şifreli
görünüyorsa da Access’te kurabileceğimiz ilişkilerin niteliklerini ele
alınca manzara aydınlığa çıkacaktır. Tablolarınızın arasında üç tür ilişki
olabilir:
Bire bir ilişki: İlişkilendirdiğiniz iki tablodan birincisi ile ikincisi
arasında sadece bir kayıt eşleşebilir. Bu tür ilişkilendirmeyi
tabalolarımızda sık kullanmadığımızı göreceksiniz; çünkü genellikle
böyle tek gerçekli tablo yapmayız.
Bir-çok ilişkisi: Birbirine bağladığımız iki tablodan birindeki bir kayıt
diğer tabloda birden fazla kayıtla eşleşebilir. İkinci bölümdeki
örneğimizi hatırlarsanız: bir ailenin birden fazla çocuğu olabilir; fakat
her çocuğun sadece bir ailesi olabilir. Dostlarnımızın çocuklarıyla
39
birlikte bir tablosunu edinmek istersek, üç çocuklu dostlarımızın adı
yeni tabloya üç ayrı satırda yazılacak, iki çocuklu dostlarımızın adları
iki, tek çocuklu dostlarımızın adları ise bir kere girecektir. Neden?
Çünkü aile bağı (Aile Sıra No alanı), Çocuklar tablosunda çok kayda
işaret ediyor.
Çok-çok ilişkisi: İlişkilendirdiğimiz tablolardan birincisinde birden
fazla alan, ikincisinde birden fazla kayda (ve tabiî ikincisindeki birden
fazla alan birinci tablodaki birden fazla kayda) işaret ediyorsa, bu kez
tablolar arasında çok-çok ilişkisi var demektir. Örnek tablomuzda böyle
bir durum yok, ama bir sipariş veritabanı düşünün: her bir sipariş
emrinde birden fazla mal sipariş ediliyor olabilir; mal tablosunda ise
her bir mal birden fazla sipariş tablosunda görünüyor olabilir. Böyle bir
ilişkinin sonucu ortaya çıkacak üçüncü tabloda hem hem her bir
sipariş, hem de her bir mal birden fazla satırda görünecektir.
Şimdi bu bilgilerin ışığında biraz önce oluşturduğunuz Stok Yönetimi
veritabanının ilişkiler penceresine bakalım. Şimdi bu veritabanındaki
dosyaları kullanarak, firmamızın verdiği siparişlerle ilgili ve siparişi
veren personele göre sipariş miktarlarını gösteren yeni bir tablo
yapabilir miyiz? Yapabiliriz. Siparişi veren Personel, hangi tabloda
hangi alandaki bilgi ile bulunacak? Çalışanlar tablosundaki ÇalışanNo
alanındaki veri ile. Peki, bu alandaki kayıtlar, hangi tablodaki hangi
alanda bulunan kayıtlarla eşleştirilecek? Sipariş formları tablosundaki
ÇalışanNo alanındaki kayıtla. Yani Çalışanlar tablosundaki ÇalışanNo
alanındaki veri Ahmet Çalışkan arkadaşımıza ait 812 ise ve bu değer,
Sipariş formları tablosundaki kayıtlarda ÇalışanNo alanındaki değerlerle
eşleşiyorsa, bu kayıt yeni tablomuza alınacak; sonra sırasıyla diğer
değerler taranacak, eşleşenler yeni tabloya dahil edilecektir. (“Yeni
tablo nerede ve nasıl oluşacak?” sorusunu şimdilik sormayın; bunu
Sorgu ile yapacağız; ve daha sonra ele alacağız.)
Çalışanlar tablosundaki ÇalışanNo alanında Mehmet Tembeloğlu
arkadaşızı belirten 813 şeklindeki veri, Sipariş formları tablosundaki
kayıtlarda ÇalışanNo alanındaki hiç bir veri ile eşleşmiyorsa ne olacak?
Yeni tabloda 813 şeklindeki ÇalışanNo’yu içeren bir kayıt olmayacaktır.
Ve muhtemelen Mehmet Tembeloğlu, neden hiç sipariş vermediğini
izah etmek zorunda kalacaktır!
Tablolarımız arasında ilişki oluşturma işini kendimiz yapmak istersek,
yine biraz önce açtığımız Araçlar menüsünden İlişkiler maddesini
geçerek açtığımız pencereyi açmamız gerekir. İkinci bölümdeki Adres
Defteri alıştırmasını yaptıysanız, şimdi bu veritabanı dosyasını
açabilirsiniz. Bu alıştırmayı yapmadı iseniz, şimdi ikinci bölüme dönüp
bu dosyayı oluşturabilirsiniz! Veritabanı açıldığında veya tabloları
40
oluşturma işini bitirdiğinizde Araçlar menüsünden İlişkiler maddesini
seçin. Karşınıza şuna benzeyen bir görünüm gelecektir:
Biz kurmadığımız halde iki tablomuz arasındaki bu ilişki, Çocuklar
tablosunu oluştururken, Aile Sıra No alanının doldurulması için Aile
tablosunun aynı adlı alanına girilmiş kayıtlara bakılmasını istemiş
olmamızdan kaynaklanıyor. Burada gördüğünüz çizgiyi ortasından sağ
tıklayın ve açılan menüden Sil maddesini seçin; Access silme işlemini
onaylattırmak istediğinde Evet’i tıklayın. Şimdi ilişki oluşturmaya
sıfırdan başlayabiliriz. Önce bir kere daha kurmak istediğimiz ilişkinin
amacını tekrar edelim: yeni adres defterimizi oluşturduğumuz sırada
öyle bir an olabilir ki, dostlarımızın çocuklarını gösteren, veya
çocukların ailelerine göre sıralandığı bir liste yapmak isteyebiliriz. Böyle
bir yeni tablo oluşturmaya kalktığımızda, Access’in hangi çocuğun
hangi aileye ait olduğunu bilmesi gerekir. Bunu iki tabloyu
ilişkilendirerek veya başka bir ifadeyle Access’e, hangi çocuğun hangi
aileye ait olduğunu nasıl belirleyeceğini söyleyerek yapabiliriz. Access’e
şunu söylemek zorundayız: Çocuklar tablosundaki kayıtlarla Aile
tablosundaki kayıtları birleştirirken birinci tablonun Aile Sıra No
alanındaki değerin Çocuk tablosundaki kaydın aynı isimli alanındaki
değerle eşleşip eşleşmediğine dikkat et; eğer bu veriler aynı ise o
zaman bu çocuk o aileye ait demektir; iki kaydı birleştirebilirsin.
Bunu söylemenin yolu ise çok kolay: İlişkiler tablosuna ait kutudaki
AileSıraNo satırını Mouse işaretçisiyle tutup, götürüp Çocuk
tablosundaki AileSıraNo satırının üzerine bırakın. (İlişkiler penceresini
açtığınızda tablolarına ilişkin kutuları göremiyorsanız, İlişkiler
menüsünden Tablo Göster maddesini; açılacak kutuda kayıtları
arasında ilişki kuracağınız, dolayısıyla görüntülenmesini istediğiniz
tabloları seçerek Ekle düğmesini tıklayın.)
Sürükleme sırasında Mouse işaretçisinin dikdörtgen ilişki simgesine
dönüştüğünü göreceksiniz (işaretli). Mouse işaretçisi bırakacağınız yere
dikkat etmelisiniz: Access 2000, dörtgeni hangi alan adı üzerinde
bırakırsanız, o alanı ilişkilendirir. Mouse’un sol düğmesini bıraktığınız
anda İlişkileri Düzenle diyalog kutusu açılacaktır.
Burada solda ilişkinin başladığı tablo ve alan ile ilişkinin kurulduğu
tablo ve alan gösterilmektedir. Her ikisinin de seçme düğmelerini
tıklayarak başka alanlar seçebilirsiniz. Bu listenin altında, “Bilgi
tutarlılığına zorla” seçeneğine işaret koyarsanız, Access 2000 size iki
seçenek daha verir: ilişkinin sol tarafındaki alan güncelleştirilirse, bu
ilişkiye dahil tabloların da güncelleştirilmesi, alan silinecek olursa diğer
tablodaki kayıtların da silinmesini sağlayabilirsiniz. (Güncelleştirme
41
kullanışlı bir seçenek olmakla birlikte, silme işlemini otomatik hale
getirmek, istemeden bilgi kaybına uğramanıza yol açabilir.) İlişkileri
Düzenle kutusunun sağ tarafındaki düğmelerden Birleştirme Türü
düğmesini tıklaksanız, ilişkinin yönü ve türünü belirleme imkanını
veren, üç seçenekli Birleştirme Özellikleri kutusunu açmış olursunuz.
Burada yapacağınız tercihler, hangi tablodan hangi kaydın alınacağını
belirler. (Sırasıyla her üç seçeneği seçtiğinizde, ilişki çizgisinin
ucundaki okların yönünün nasıl değiştiğine dikkat edin.)
Kutuları sarısayla kapattığınızda, iki tabloyu ilişkilendirmiş, başka bir
deyişle Access 2000’i bu tabloları kullanarak yapacağınız veri-işleme
hazırlamış olursunuz. Bir veritabanındaki tablolar arasında ilişkileri
oluştuğunuz zaman Access 2000, hiç bir yapmayacak, söz gelimi
ortaya yeni bir tablo veya rapor çıkartmayacaktır. Bunu yapması için
gerekli talimatı daha sonra vereceğiz. Şimdilik sadece Access’e, bu
talimatı yerine getirmesi için gerekli bilgiyi vermiş, veritabanımızın
tabloları arasındaki bağları tanıtmış olduk.
Dizin
Access 2000’in veri-işlem işleri için yapması gereken bir diğer hazırlık
ise Endeks çıkartmaktır. Veritabanımızın tablolarını neden
endekslettirmek isteriz? Daha sonra yapacağımız veri-işlemleri hızlı
olsun diye? Access 2000’ın endeksi, tıpkı bir kitabın arkasındaki endeks
gibi çalışır: aradığınızı kolay bulursunuz. Burada bulma işlemini kitap
okurundan farklı olarak kullanıcı değil Access yapmaktadır. Access,
kendi endekslerini, vereceğiniz sorgu talimatlarını icra ederken,
tabloları sıraya sokarken, rapor oluştururken ve arama yaparken
kullanır.
Köprü, not ve OLE nesnesi içeren alanlar dışındaki tür alan türleri
endekslenebilir. Sadece Birincil Anahtar olan alan değil, bütün alanlar
(türü uygunsa) endekslenebilir; birincil anahtar alanı otomatik
endekslenir. Endeks, sorgu, sıralama ve aramayı hızlandırır; fakat bir
veri tabanında ne kadar çok alan endeksleniyorsa, Access 2000’in
veriişlem hızı o kadar azalabilir. Access 2000’e tablo tasarımı sırasında,
endeks yaparken birden fazla benzer kayıt bulunması halinde ne
yapması gerektiğini biz söyleriz. Tablo tasarım penceresinde bir alan
türünü tıkladığınızda, alan türü elverişli ise, pencerenin Alan Özellikleri
bölümünde Sıralı satırı belirir. (Access 2000, endekse yardım
dosyalarında “dizin” derken burada “Sıralı” demeyi tercih ediyor. Ama
bu kadar kusur, kadı kızında da olur!) Bu satırın içini ve sağında
belirecek seçme okunu tıklarsanız, üç seçeneğiniz bulunduğunu
görürsünüz: “Endeks yapma!” anlamına “Hayır” ; “Endeks yap, ve
42
tekrarlara aldırma!” anlamına “Evet, Tekrarlama Var”; ve “Endeks yap
ve bu arada tekrarları yakala!” anlamına “Evet, Tekrarlama Yok.” Bu
sonuncu tercihi seçerseniz, Access, endekslenmiş alanlarda, tüm
kayıtların benzersiz olmasına dikkat eder ve sizi uyarır.
Böylece, veritabanımızı birincil anahtarları, ilişkileri ve endeksi ile veriişleme hazırlamış bulunuyoruz. Bundan sonra, tablolarımızı
sorgulayabilir; tablolar ve sorgulardan raporlar hazırlayabiliriz.
Verilerimizi, kelime işlem programının içinde tablolar oluşturup, bu
tabloların içine yazmıyorsak, bunun bir nedeni olabilir: Verişlem
programlarının sorgu aracı. Sorgu veya Query, veritabanı fikri ortaya
atıldığı günden beri var. Hatta, veritabanı dosyalarının, diğer bilgisayar
kayıt dosyalarından ayrışmasını sağlayan unsur, sorgudur. Bir
veritabanı dosyasındaki bilgileri sorgulama ve bu verilerden yeni
bilgiler elde etme ihtiyacı o kadar belirgin hale geldi ki, bilgisayar
mühendisleri sırf bu iş için bir dil bile icad ettiler: Sorgu Dili (Query
Language).
Ne var ki, veritabanı biçimi kadar sorgulama dili ortalığı kaplayınca,
belli başlı bilgisayar donanım ve yazılım firmaları ve üniversiteler
biraraya gelerek, bu kargaşaya son vermek üzere kolları sıvadılar; ve
ortaya SQL (Structured-Yapılandırılmış Sorgu Dili) çıktı.
SQL, 1980’lerin başlarında Sybase firması tarafından UNIX ortamı için
geliştirildi. Microsoft firması, Sybase’den ruhsatını aldığı bu teknolojiye
dayanan MicrosoftSQL Server programını 1987’de Windows 3 için
piyasaya sürdü. Ertesi yıl, MS, Sybase ve Ashton-Tate firmaları
MSSQL-Server’nın OS/2 sürümünü ortaklaşa hazırladılar ve daha sonra
IBML’in de katıldığı bu çaba 1991’e kadar sürdü. Ashton-Tate’in bu
birlikten 1990’da çekilmesi üzerine, Sybase ve MS yeni bir anlaşma
yaparak, dili ve Server’ı, Windows NT ortamı için birlikte geliştirmeye
başladılar. Bu çabanın sonucu SQL Server programı oldu. Bu program,
bugün 7’nci sürümündedir.
Bir taraftan endüstri çapında geçerli bir teknoloji ve bu teknolojinin
başlıca aracı olan bir dilin adı olarak SQL, diğer taraftan Microsoft
firmasının bu teknoloji ve dili kullanan bir programının adında (SQL
Server) kullanıldığı için, sadece Microsoft’a ve Windows ortamına ait
sanılabilir. Bu doğru değildir. SQL, bugün piyasada bulabileceğiniz belli
başlı veritabanı oluşturma ve veri-işlem programlarının ortak dilidir.
Microsoft Access, 1992 yılında dünyaya geldi; ve ilk günden itibaren
tek başına bir veritabanı oluşturma ve işleme programı olarak değil,
43
fakat daha büyük veritabanı dosyalarına, veri bankalarına bağlanabilen
ve oradaki verileri işleyebilen bir program olarak tasarlandı. Access
2000, Access Projesi (Dosya menüsünden Yeni maddesini ve açılan
şablon kutusunda “Proje (Yeni Veritabanı)” adlı simgeyi tıklayın)
dosyaları oluşturarak, SQL Server dosyalarına ulaşabilir; bu dosyalarda
SQL sorguları çalıştırabilir.
İyi bir Access kullanıcısı, bu programla büyük veritabanı mimarisine
adam atabilir; ileri düzeyde veri-işlem tekniklerini öğrenebilir. Veri
Madenciliği (Data Mining) teknolojileri, Online Analytical Processing
(OLAP) teknikleri ve günümüzde veri yönlendirmeli Web uygulamaları,
SQL’e dayanan gelişmelerdir. Access’te öğreceğiniz SQL, size bu
teknolojilerie ilk adımı atmayı sağlayacaktır.
Access’te SQL’e ilk adım ise daha önce gördüğümüz Süzme işleminin
son bölümünde kısaca sözünü ettiğimiz Gelişmiş Süzme/Sıralama aracı
ile atılabilir. Aslında Access’te yaptığımız seçme veya Form yoluyla
süzme işlemleri, bir sorgu işlemidir; ancak bu sorgunun SQL komutunu
(veya Access’in kullandığı kelimeyle, “deyimini”) Access kendisi
oluşturur. Gelişmiş Süzme/Sıralama (GSS), diğer süzme işlemlerine
göre “ileri” sayılırsa da, bir sorgu deyimi (SQL komutu) yazmanın
yanında basit sayılabilir. Bu sebeple, tabir yerinde ise Access’in
desteklediği bir sorgu geliştirme işlemi olan GSS’yı sorguya giriş
konusu olarak ele alabiliriz. GSS’yı kavradığımız anda sorgu tekniğini
kavramış oluruz. Access’in sorgu tekniği ise daha genel SQL’e giriş
sayılır.
GSS’nin bir sorgu aracı olarak sınırlamaları vardır. Sadece bir tablonun
içerdiği verilerle çalışabilir; birden fazla tablo veya başka sorguların
sonuçlarını kullanamaz. Sonuç itibariyle gSS de bir tabloda belirli
ölçütleri karşılayan kayıtları görünteleme aracından başka bir şey
değil; birden çok tabloda sorgu yapmak için gerçek sorgu aracını
kullanıp, gerçek SQL komutları yaszmamız gerekir. GSS’te verilere
sadece basit sorular sorabiliriz. (Daha gelişmiş sorgular için, gerçek
sorgu aracını kullanırız.) GSS ile yapacağımız süzme sonunda
görüntülenen kayıtların bütün alanları görüntülenir; oysa gerçek
sorguda ortaya çıkacak yeni tablo veya formda hangi alanlar olsun
istiyorsanız o alanlar olur. Bu sınırlamalarına rağmen (belki de bu
yüzden) GSS, Access’te sorguya giriş için mükemmel bir adım sayılır.
Şimdi bir tabloyu açın ve Kayıtlar menüsünden önce Süz, sonra
Gelişmiş Süzme/Sıralama maddesini seçin.
Bu, eğer başta tablo ekleyebilseydik, sorgu hazırlama penceresinin ta
kendisi olurdu. GSS, belirttiğimiz gibi sadece bir tablo ile çalışır; ve o
44
tablo da seçilmiş olarak karşımıza gelir. Bu penceresi inceleyelim.
Üstte, sorguda (pardon, süzgeçte) kullanılacak tablo yer alır. Buraya
alan listesi denir. Altta ise süzgeci oluştururken kullanacağımız,
şimdilik boş olan, sorgu tasarım kılavuzu yer alır. Burada sadece
sözme amacıyla yararlanacak da olsak oluşturacağımız “şey” gerçekten
bir sorgudur. Bu bölümde, Alan isimli birinci satırın birinci sütundaki
kutusunun içini, sağda seçme oku belirince oku tıklayın: yukarıda alan
listesinde yer alan alan adlarının burada sıralandığını göreceksiniz.
Sorgu, burada olduğu gibi ileri düzeyde süzme işlemi için bile olsa,
“veriye soru sorulması” anlamına gelir. GSS’de bir sınıftaki öğrencilerin
sınav notlarını içeren tablomuza örneğin “Son üç sınavda 4,5’dan aşağı
not almış öğrenciler kimler?” diye sorabiliriz. Ya da yemek tariflerini
derlediğimiz bir veritabanında, “Kebaplar” tablosuna “İçinde biber
olmayan ve kıyma ile yapılmayan kebaplar hangileri?” sorusunu
yöneltebiliriz. Müzik kaset ve CD’lerinizin veritabanındaki “Türküler”
tablosuna “Yavuz Bingöl’ün 1996’dan sonra çıkmış kaset ve CD’leri
hangileri?” diye sorabiliriz. Ya da elimizdeki Adres Defteri veritabanında
Aile tablosuna “Istanbul ve Niğde’de oturan ve kart yollamam gereken
dostlarım kimler?” şeklinde bir soru yöneltebiliriz.
Bunun için, Alan sırasının birinci sütundaki kutusunun seçme okunu
tıklayarak, alan listesinden Şehir’i seçmemiz gerekir. Sonra, GSS’nin
sadece süzme değil aynı zamanda sıralama yaptığını hatırlayarak,
ikinci sıradaki Sırala kutusunun sağındaki seçme okunu tıklayarak,
Artan, Azalan ve Sırasız seçeneklerinden Artan’ı seçelim. Ve sıra geldi,
süzme için uygulatacağımız ölçütleri belirlemeye. Ölçüt satırının içini
tıklayıp “Istanbul” yazıyoruz. Tırnak işaretlerini siz koymazsanız,
Access koyar. Istanbul VE Niğde’de oturan dostlarımızı birlikte seçmek
için, alttaki VEYA satırına da “Niğde”yazalım. Buraya kadar, tabloya
soracağımız sorunun birinci bölümünü sormuş olduk: Istanbul ve
Niğde’de oturanlar. Şimdi sorgunun ikinci bölümüne geliyoruz: Kart
göndermem gerekenler. İkinci bölümdeki veritabanı alıştırmasını
yaptıysanız, “KartYolla” alanının türünü “Evet/Hayır” yaptığımızı
hatırlıyor olmalısınız. Şimdi, Alan satırının ikinci sütununda KartYolla
alanının seçin; (“Evet” değerlerinin sıraya sokulmasına gerek
olmadığına göre ikinci satırı atlayabilirsiniz) ve Ölçüt sarımına Evet
yazın. Araç çubuğundaki Süzgeçi Uygula simgesi tıklayın ve tablonuzun
sadece Istanbul veya Niğde’de oturanlardan kendilerine kart yollamam
gerekenleri gösterdiğini, diğerlerinin süzüldüğünü ve süzgecin diğer
tarafında kaldığını göreceksiniz.
Kendi kendinizi kutlayabilirsiniz: çünkü sadece Access’in gelişmiş
süzme ve sıralama aracını kullanmakla kaldık; SQL komutu yazmaya
45
da ilk adımı attık. Şimdi artık Access’te ciddi sorgulama işleri
yapabiliriz.
“Sorgu, veriye soru sormaktır!” demiştik. Kimi zaman bir tablonun
cevaplayabileceği soruları, süzme ve hatta sıralama ile
çözümleyebiliriz. Fakat elde iki veya daha çok tablo varsa ne yapanız?
Diyelim ki, siz sadece bir sınıfın değil, beş ayrı sınıfın öğretmenisiniz ve
sınıflarınızda başarı oranını etkileyen garip bir eğilim farkettiniz. Sizin
derslerinizde kız öğrenciler genellikle başarısız oluyor. Sadece bir
sınıfın öğretmeni olsanız, bu kuşkunuzun yerinde olup olmadığını
sınamak için iki süzme işlemi size sonucu verirdi. (Nasıl?) Fakat beş
ayrı sınıf söz konusu olunca, her tablonun kendi içindeki yüzdeler,
anlamlı olmayabilir. Size bütün tablolardan seçme-süzme yapan bir
araç gerekiyor. Ya da beş tabloya birden soru sormanızı sağlayacak bir
araç. Bu aracın adı Sorgu’dur.
Access’in Sorguları
Access 2000, bize altı ayrı sorgu türü veriyor. Bunlardan Basit Seçme
sorgusu, biraz önce ele aldığımız Gelişmiş Süzme/Sıralama aracının
birden fazla tablo kabul edebilenidir. Çapraz sorgu, verileri
gruplandırarak, bunlar için sayım, toplam ve ortalama gibi hesapları
yapar. Örneğin öğrencileri cinsiyetlerine ve derslere göre gruplandırıp,
aldıkları not ortalamalarını göstermek., çapraz tablo yapmaktır. Çapraz
sorgu bir tabloda çalıştığı için, örneğin öğrencilerinizin notları derslere
göre ayrı tablolarda ise bunları bir tabloda basit seçme sorgusuyla
birleştirmeniz gerekir. Tablo yapma sorgusu, seçme sorgusundan farklı
olarak, çalıştığı zaman ortaya bir tablo penceresi çıkmaz; Access,
sizden daha önce aldığı isimle bir tablo oluşturur. Bu tablo
veritabanının parçası haline gelir. Oysa diğer sorguların sonuçları
ancak sorgu çalıştığı sırada vardır. Güncelleştirme sorgusu, sorgu
tasarımı sırasında verdiğiniz bir sabit değeri veya verdiğiniz bir deyimin
o sırada bulunacak sonucunu, tayin ettiğiniz bir alana yazar. Bu, “BulDeğiştir” gibi basit bir araç olmayıp, her kaydı, belirli bir formüle veya
kıydın kendi içindeki bir değere göre yeniden hesaplayabilir. Ekleme ve
Silme sorguları da güncelleştirme sorgusu gibi, ya farklı tabloların
kayıtlarını birbirine ekler, ya da tablolardaki kayıtları siler. Bunların
dışında tasarım sırasında yüklediğiniz işlevlerin bir sonucu olarak bir
sorgu Parametre sorgusu (verdiğiniz görevi yapabilmek için
kullanıcıdan bir değer girmesini isteyen sorgu), SQL Sorgusu (SQL
komutlarını kullanarak birleşim, doğrudan sorgu, veri tanımla ve alt
sorgu gibi veritabanınızı ODBC yoluyla dışarıdan kullanacak kullanıcıları
gözönünde tutarak hazırladığınız sorgular) ve otomatik arama sorgusu
46
(yeni bir kaydın bazı alanlarının otomatik olarak doldurulmasını
sağlayan sorgu, AutoLookup sorgusu) diye de adlandırılabilir.
Basit Seçme Sorgusu (BSS) dışındaki sorgular, ileri düzeyde Access
bilgisi ve hatta bir ölçüde Programlar İçin Visual Basic (VBA) bilgisi
gerektirebilir. BSS’yi iyi kavrayarak, bu ileri düzeydeki sorgular için
mükemmel bir başlangıç yapabilirsiniz.
BSS’in temel özelliklerini sıralarsak, şunlar karşımıza çıkıyor:
1. Sorguda birden fazla tablo kullanabilirsiniz; tablolar arasında
oluşturduğunuz ilişkiden yararlanabilirsiniz.
2. Sorgu sonucu sadece istediğiniz alanları görüntüleyebilir; bu sırada
gerekli olmayan sütunları yeni sorgu sonucu tablosuna almayabilirsiniz.
3. Sorgu sonucu oluşacak tabloda alanları istediğiniz sütun sırasına
sokabilirsiniz.
4. Seçme işlemi sonucu kaç kaydın görüntülenmesini istiyorsanız, o
kadar kayda yer verebilirsiniz.
5. BSS (ve diğer) sorguları icra ettikten sonra, sorguya konu olan
tabloların değerlyeri değişmez; başka bir deyişle sorgular tabloları
sadece “okur,” içeriğini değiştirmezler. Bir sorgu işledikten sonra tablo
oluşturuyorsa (Tablo Yapma Sorgusu ise) ortaya yeni bir tablo çıkar.
Sorguyu tekrar çalıştırdığınızda bu tablo yeniden yazılır ve Access
2000, Özelleştir kutusunda yaptığınız uyarı ayarlarına göre sizi
uyarabilir.
İkinci bölümdeki Adres Defteri alıştırmasını yaptıysanız, bu veri
tabanını açın ve birlikte bir BSS oluşturalım. Adres Defteri veritabanını
oluşturmadı iseniz, aşağıdaki adımları kendi veritabanınıza uygulamak
zorundasınız. Burada yapmak istediğimiş iş veya Access 2000’e
sormak istediğimiz soru şu: Istanbul’da oturan ve çocuğu olan
dostlarımız kimler, çocuklarının adı ne?
Veritabanı dosyası açıldığında, veritabanı penceresinde, nesneler
listesinde Sorgular satırını tıklayın. Sorgular penceresinde “Tasarım
görünümünde sorgu oluştur” ve “Sihirbazı kullanarak sorgu oluştur”
şeklinde iki kısayol göreceksiniz. Pencerenin araç çubuğundaki Yeni
düğmesini tıklarsanız, karşınıza daha çok imkan sunan bir sihirbazın ilk
adımını içeren bir kutu açılacaktır. Bu kutudaki Basit Sorgu Sihirbazı
maddesi, Sorgu nesnesi penceresindeki “Sihirbazı kullanarak sorgu
oluştur” kısayolu ile aynı sonucu verir. İster Yeni’yi tıklayıp açılan
kutudan Basit Sorgu Sihirbazı maddesini seçin, ister “Sihirbazı
kullanarak sorgu oluştur” kısayolunu tıklayın.
47
BSS sihirbazının ilk penceresinde hangi alanların sorguda bulunmasını
istediğinizi belirtmeniz gerekir. Bir sorgu sadece tablodan değil sorgu
sonucundan da seçme yapabilir; dolayısıyla sol üstteki seçmeli listede
veritabanınızda mevcut bütün tablolar ve sorgular sıralanır. Bu listede
seçilmiş olan tablo veya sorgunun içerdiği alanlar ise sol altta
kullanılabilir alanlar listesinde yer alır. Veritabanımıza soracağımız
sorunun birinci bölümü “Istanbul’da oturan” dostlarımızın seçilmesi
olduğuna göre, bu kişilerin kayıtlı olduğu Aile tablosunu seçmek
zorundayız. Bu alanlardan hangileri BSS sonucu oluşturulacak
tablomuzda yer alsın istiyoruz? Bir kere dostlarımızın adını ve soyadını
seçmemiz gerekir. Seçilecek kişilerin tümünün Istanbul’da oturanlar
olması için Şehir alanının da seçilmesi şart. Bunu yapmak için arzu
ettiğimiz alanın adını bir kere tıkladıktan sonra ortadaki düğmelerden
en üstte olan sağa doğru tek oklu düğmeyi tıklıyoruz. Soldaki alanların
tümünün sorgu sırasında kullanılabilir olmasını isteseydik, ikinci
sıradaki iki oklu düğmeyi tıklamamız gerekirdi. Bir alanı yanlışlıkla sağa
geçirirsek, üçüncü sıradaki sola doğru tek oklu düğmeyi tıklayarak
sorguda kullanabileceğimiz alanlar listesinden çıkartırız. Bu alanların
tümünü sorgu listesinden çıkartmak için el alttaki iki oklu düğmeyi
tıklayabiliriz.
Veritabanına sorduğumuz sorunun ikinci bölümü, Istanbul’da oturan
dostlarımızdan sadece çocukları olanların seçilmesini, üçüncü bölümü
ise çocukların adlarının da listelenmesini gerektirdiğine göre, bize
Çocuklar tablosu ve bu tablodaki çocuk adları alanı da gerekiyor. Şimdi
Tablolar ve sorgular kutusunun seçme okunu tıklayarak açılan listeden
Çocuklar tablosunu seçelim, sonra da bu tablonun Adı adlı alanını sağa
aktaralım. Ama hemen İleri düğmesini tıklamayın.
Şimdi bir an için kendimizi Access 2000’in yerine koyalım: Biraz sonra
bir seçme işlemi yapacağız; çocuğu olan ve Istanbul’da oturan kişileri
seçeğiz. Istanbul’da oturanları seçmek kolay: Eğer Şehir alanındaki
değer “Istanbul” ise bu kişiyi seçebiliriz. Peki bu kişilerin çocuğu olup
olmadığını nasıl bilebiliriz? Veya şöyle soralım: bu kişilerin çocukları
varsa bunları Çocuklar tablosunda nasıl belirleyebiliriz? Bu iki tablo
arasında ilişki sağlayan alanla! Veritabanı tasarımında en zor nokta,
tablolarda gereksiz yere tekrarı önlemek amacıyla alanları başka
tablolara aktarmak gerektiğinden söz ettiğimiz sırada, tablolar arasında
ilişki kurmamız gerektiğini belirtmiştik. İkinci bölümden hatırlıyorsanız,
Aile tablosuyla Çocuklar tablosu arasındaki ilişkiyi, yani hangi çocuğun
hangi aileye mensup olduğunu Aile Sıra No alanındaki bilgiyi iki tabloda
ortak kullanarak biliyoruz. Başka bir deyişle bir çocuğun Aile Sıra No
alanındaki değer, bu çocuğun hangi ailenin üyesi olduğunu gösteriyor.
Sorgu sırasında Access 2000, şöyle düşünebilir: “Hımm. Istanbul’lu bir
48
kişiyi seçeyim; sonra bu kişinin Aile Sıra No alanındaki değeri, Çocuklar
tablosundaki aynı adlı alanda arayayım; eğer bu iki değer aynı ise bu
çocuğun adını alıp, Istanbullu kişi ile birlikte kaydedeyim.” Access’in
düşündüğünü uygulayabilmesi için, ona her iki tablodan Aile Sıra No
alanını da vermemiz gerekir. O halde önce açık olan Çocuklar
tablosunun, sonra da yeniden Aile tablosunu seçerek, Aile Sıra No
alanlarını sağa aktarın. Bu kutuda işimiz bittiğine göre Tamam’ı
tıklayabilirsiniz. (Sorgu kaç tablodan kaç alan seçmeyi gerektiyorsa, o
kadar alan seçebilirsiniz. Buradaki örnek bu alanları gerektirdiği için
burada duruyoruz; sizin örneğiniz başka tablolardan başka alanlar
gerektiyorsa, seçmeye devam edin.)
Basit sorgu sihirbazının ikinci penceresi, sorgu sonucu oluşturulacak
tabloda kaç kayıt olacağını belirler. Varsayılan değer, seçtiğiniz
tablolardaki tüm kayıtların sorgu sonucu oluşacak tabloya alınmasıdır.
Fakat diyelim ki size sorgu sonucu oluşacak tablonun ilk 5, 25 veya
100 kaydını içeren özet bir tablo da oluşturabilirsiniz. Özet tablo için
Özetk seçeneğini seçin ve Özet Seçenekleri düğmesini tıklayın. Bu iş
bittikten sonra veya Ayrıntılı seçeneğini seçerek, İleriyi tıklayabilirsiniz.
Üçüncü pencerede yeni sorgunuza isim vermeniz, Son’u tıkladığınızda
sorgunun icra edilmesini mi, yoksa sorguda sihirbazın yapmadığı
değişiklikleri yapmak üzere tasarım görünümünün açılmasını mı
istediğinizi belirtmeniz gerekir. Burada yardım isteyip istemediğinizi
belirteceğiniz bir başka seçenek daha var. Tasarımı güç sorgular
yaptığınızda, Access 2000’in yardım penceresinin açılmış olması size
kolaylık sağlar. Şimdi, sorgunun tasarımı ile ilgili işlerimiz bitmediği için
ikinci seçeneği işaretleyerek Son’u tıklayalım.
Access 2000, seçtiğiniz iki tabloyu sorgu tasarım penceresinin üst
bölümünde gösteriyor. İki tablo arasındaki ilişki çizgisine dikkat edin;
bu ilişkiyi ikinci bölümdeki alıştırma sırasında kurmuştuk. Access,
seçtiğiniz altı alanı, değerleri ne olursa olsun, bütün kayıtları ile
seçmeyi (ve bunu yaparken iki tabloyu birleştirmeyi) sağlayan bir
sorgu tasarımı öneriyor. Bütün alanların seçildiğini, sorgu tasarım
penceresinin alt yarısındaki kılavuzda, Alan satırındaki alan adlarından
anlıyoruz. Bu satıra yazılan alan adlarını inceleyin; tablo adı ile
tablonun alan adı nasıl birleştiriliyor? İkinci satırda ise tablonun adı
belirtiliyor. Sırala satırının boş bırakıldığına dikkat edin. Göster
satırındaki kutuların işaretli olması bu alanın sorgu sonucu
oluşturulacak tabloda gösterileceği anlamına geliyor. Ve son olarak
Ölçüt satırlarının boş olduğuna dikkat edin.
49
Biz sorgumuzun sadece çocukları olan Istanbulluları kapsamasını
istiyorduk. O halde, Şehir alanının sütununda, Ölçüt satırına “Istanbul”
yazmamız gerekiyor, ki sadece Istanbullular seçilsin. Peki bunlar
arasından çocukları olanları nasıl seçeğiz, Access ile çalışma konusunda
ustalığınız ilerledikçe, bu tür şartlı seçmeleri (SQL deyiminde “eğer”
şartı geçen sorguları) oluşturma becerisi de edineceksiniz. Fakat
şimdilik böyle bir sorgu deyimi oluşturmaya gerek yok: Access,
çocuklar listesindeki Adı değerlerini seçerken, bunların Aile Sıra No
değeri Aile tablosunda Aile Sıra No değerine denk gelmeyen kayıtları
seçmeyecektir. (Aile tablonuzda çocuksuz Istanbullu dostlarınız,
Çocuklar tablosunda da Istanbullu ailelere mensup olmayan çocuklar
bulunmasını sağlayın, ki BSS’in gerçekten işleyip işlemediğini
sınayabilelim.) Şimdi sorgu tasarım penceresinde Şehir sütununda
Ölçüt satırına “Istanbul” yazın. Sorgu sonucu oluşacak yeni tablomuzda
iki ayrı Aile Sıra No sütununa gerek olmadığı için Çocuklar tablosundan
alınacak Aile Sıra No sütununun Görüntüle satırındaki işareti
kaldırabiliriz; fakat BSS’in tablonun ilişki bağından nasıl yararlandığını
görmek için şimdilik bu işareti kaldırmayın. Özetle, Access 2000 BSS
sihirbazının tasarımına sadece Şehir alanında Ölçüt olarak “Istanbul”
kelimesini eklemiş olduk. Bu sırada Access 2000’in araç buçuğunda
ünlem işareti şeklinde bir simge belirdiğini görüyor musunuz? “Çalıştır”
isimli bu araç, Access 2000’e “Bu sorguyu icra et ve sorduğum sorunun
cevabını bana tablo alarak göster!” komutunun kısayoludur. Şimdi bu
simgeyi tıklayalım.
İşte sorumuzun cevabı: Aile listemizde yer alan Şehir alanındaki değer
“Istanbul” olan ve Çocuklar tablosunda kendilerine ait çocuk bulunan
dostlarımızın listesi! Access ile çalışma becerinizi arttırdıkça, her
çocuğu mensup oldukları aile ile aynı satıra “Çocuk 1,” “Çocuk 2” ...
şeklinde yeni sütunlar halinde sıralamayı da sağlayabilirsiniz.
Bu sorgunun verdiği sonuçları doğru bulmuyorsanız, tekrar tasarım
görünümüne dönebilirsiniz. Bunun için Access 2000 araç çubuğunda
tasarım görünümü simgesini tıklayın. Sorgunun tasarımında istediğiniz
değişikleri yaptıktan sonra Çalıştır simgesini tıklayabilirsiniz. Sorgunun
istediğiniz sonucu verdiğini gördükten sonra kapatmaya kalktığınızda
Access 2000 sorguyu veritabanı dosyasının içinde kaydededecektir.
Bir BSS tasarlamaya çalıştığınız sırada seçtiğiniz tablolar ilişkili değilse,
Access 2000 sizi uyarır ve bu ilişkiyi kurmadan devam etmek istemez.
Sorgu tasarımı sırasında seçtiğiniz tablolar arasındaki ilişki çizgisini
silerek sorguyu çalıştırırsanız, anlamlı olmayan sonuçlar alırsınız.
50
İster insanlar arasında, ister tablolar arasında olsun, ilişki zor şeydir;
itina ve dikkat, önceden planlama ve sihirli bir anahtar ister!
İnsanlararası ilişkide sihirli anahtar nedir sorusunu Access 2000’e
ayrılmış bu kitapta ele alamayız. (Zaten bu konu bu kadar bir
kitapçığın kapsamını aşar.) Fakat hemen belirtebiliriz ki, Access’te
başarılı bir veri-işlemin sihirli anahtarı Birincil Anahtar’dır: tablolar
arasındaki ilişkiyi bu Anahtar ile kurarız, ve göreceğimiz gibi, daha bir
çok kapıyı bu anahtarla açarız.
İkinci bölümdeki alıştırmayı yaptıysanız, oluşturduğunuz her tablonun
tasarım görünümünü kapatırken, Access 2000’nin bu tabloda bir
Birincil Anahtar tayin edilmediğini vurgulayarak sizden ısrarla bir alanı
Birincil Anahtar olarak belirleminizi istediğini görmüş olmalısınız.
Neden? Çünkü birincil anahtar her tabloya, daha sonra bir başka tablo
ile ilişkilendirmek istediğinizde bu ilişkide özgün kişiliğini verecektir.
Birincil anahtar olarak belirlenen alandaki bilgilerin benzersiz olması
gerekir. Access sizi buna zorlamaz, ama birincil anahtar alanındaki
bilgileriniz her kayıt için benzersiz değilse, neden birincil anahtar
olarak atamış olabilirsiniz? Birincil anahtar, bir kaydı, bir başka
tablodaki bir kayıtla birleştirmekte kullanacağımız anahtardır. Birincil
anahtarın diğer işlev ve yararlarına kısaca değindikten sonra kayıt
birleştirmedeki rolüne döneceğiz.
Her tablonun bir, ama sadece bir, Birincil Anahtarı olabilir. Access
2000, her tablonun birincil anahtarını otomatik olarak endeksler (ve bu
sayede veritabanı daha hızlı çalışır). Tablonuzda siz bir alanı Birincil
Anahtar olarak atamadıysanız, Access 2000 bir birincil anahtar alanı
oluşturmak ister; bunu onayladığınızda bir otomatik sayı alanı açar;
tablonuzda zaten birinci alanda otomatik sayı türü bir veri varsa,
Access 2000 bu alanı birincil anahtar olarak atar. Bu sebeple, iyi bir
tablo tasarımı ilerde kullanmayacak bile olsanız, birinci alanı otomatik
sayı olarak belirlemeyi gerektirir.
Birincil anahtar, hemen hemen daima sadece bir alandan oluşur. Fakat
Access 2000, ancak çok pahalı veritabanı Server programlarının
yapabileceği bir imkana da sahiptir: veri-işlem işiniz birden fazla
alandan oluşan Birincil anahtar kullanmanızı gerektiriyorsa, bunu
yapabilirsiniz. Çok-alanlı Birincil Anahtar, ileri düzeyde veri-işlem ve
sorgulama bilgisi gerektirir.
Her veri türü birincil anahtar olamaz: birincil anahtar olarak
kullanamayacağınız veri türleri, Internet adres bağlantısı (köprü), OLE
ve not türleridir. Buna göre, metin, sayı, tarih/saat, para birimi,
Evet/Hayır, ve otomatik sayı alanları birincil anahtar olarak
51
kullanılabilir. Tablolarınız, birincil anahtar alanına göre otomatik olarak
sıralanır. (Eğer bir Evet/Hayır alanını birincil anahtar yapmaya
kararlıysanız, tablonuzda en fazla iki kayıt olması gerekir. Neden?)
Birincil anahtarın tabaloda birinci alan olması gerekmez; herhangi bir
alan birincil anahtar olabilir. Fakat kendinizi tabolalarınızda birincil
anahtar arama zorluğundan kurtarmak için daima birinci alanı birincil
anahtar yapacağınız veriye ayırmanız iyi bir alışkanlık olur.
Birincil Anahtar Tayininde Püf Noktası
“Tablomda hangi alanı birincil anahtar yapmalıyım?” sorusu kaçınılmaz
olarak sorulacak sorudur. Bu sorunun bir cevabı olabilir: Benzersiz veri
içeren alanlardan birini birincil anahtar yapın. Birincil anahtar
seçiminde anahtar kelime, “benzersiz” kelimesidir! Seçeceğiniz
alandaki veri, her kayıt için özgün olmalıdır; başka hiç bir kayıtta
tekrar etmemelidir. Kişilerin adlarını, soyadlarını içeren alanlar özgün
olamaz. Öğrenci numaraları, araç plaka numaraları da bir kaç yıl sonra
tekrar başka öğrenciye veya araca verilebilir. Telefon numaraları bir
ülke için özgün olabilir (her bölgenin kodu farklı olacağı ve aynı bölge
kodunda benzer numara bulunmayacağı için), ama veritabanınızda
örneğin bölge kodu aynı olan Istanbul ve New York kentlerindeki
dostlarınızın telefon numaraları varsa, zor bir tesadüf bile olsa, aynı
numara bulunabilir.
Birincil anahtar alanı belirlerken, tablonuzda özgün-benzersiz veri
bulunan alan arayın. Bütün alanlarınızdaki verilerin tekrar etmesi
ihtimali varsa, yeni bir alan açın ve içine otomatik sayı koyun.. Gerisini
Access 2000 düşünsün!
Bir tabloda birincil anahtar alanı tayini son derece kolaydır. Tabaloyu
tasarım görünümünde açın; birincil anahtar olarak atamak istediğiniz
alanın adının bulunduğu kutuyu sağ-tıklayın ve açılacak menüde birinci
madde olan Birincil Anahtar maddesini seçin. Bu alanın adının
önündeki kutuda küçük bir anahtar simgesi belirecektir.
Birincil anahtarın veritabanı için önemini ortaya koyacak küçük bir
deney yapalım ve sonra birincil anahtarın birincil görevi olan tablo
ilişkilendirme konusuna dönelim.
Yukarıdaki alıştırmayı yaptıysanız Çocuklar tablosunu (veya herhangi
bir alanı Birincil Anahtar olarak tayin edilmiş bir başka tabloyu) açın,
ve yeni bir satırda birincil anahtar alanına mevcut değerlerden birini
tekrar yazın. İşinizin bittiğini belirtmek üzere başka bir hücreyi
tıklayın; Access 2000 hemen hata mesajı verecektir:
52
Birincil anahtar alanındaki verinin özgün olması gerekir; yoksa bu
anahtar aslî görevini yapamaz.
Tablolar arasında ilişki kurmak suretiyle, veritabanı dosyamızı düz
veritabanı olmaktan kurtardığımızı söylemiştik. Tablolar arası ilişki,
Access 2000’in daha hızlı sorgu icrası yapmasını sağlar; veri-işlem
işlerimiz daha verimli olur. Bu sayede verilerimizi güncelleştirirken,
bütün tabloları elden geçirmek ve hatta yeniden girmek zorunda
kalmayız; sadece güncelleştirilmesi gereken tabloya ek veya bu
tabloda değişiklik yaparız.
Bir firma düşünelim: en az 200 firmadan hammadde alıyor ve en az
500 bayie mamül madde veriyor. Bu firmaların adreslerinden, alınan
hammadde ve verilen mamül maddelerin özelliklerine kadar, diyelim ki
2 bin sütun dolduran verilerimizi tek tabloda topladığımızı varsayalım.
Böyle bir tabloda, aldığımız mallara ilişkin bilgi sütunları, sattığımız
mallara ilişkin satırlarda boş kalırken, sattığımız mallara ilişkin bilgi
sütunları aldığımız mallara ilişkin satırlarda boş bırakılmak zorundadır.
Bu hem gereksiz yere şişkin bir veritabanı dosyasına yol açar, hem de
veri girişinde sayısız hatalara sebep olur. A firmasından aldığımız yeni
bir mala ait yeni bir kayıt girerken, firmanın adından adresine, faks
numarasından posta koduna kadar bütün bilgileri yeni satıra tekrar
yazmak zorunda kalırız. Bu, yeni yazım hatalarına davetiye çıkartmak
demektir. Tekrar eden bu bilgilerin dosya boyutuna bindireceği yükü
düşünün!
Verilerimizi tek tabloda toplamanın sakıncalarını anladık. Ve diyelim ki
elimizde böyle, beş veya altı tabloya bölünmüş bir veritabanı var.
Şimdi, son 3 ay içinde mal aldığımız firmaların bir dökümünü çıkartmak
istiyoruz. Beş-altı ayrı tabloyu mu kağıda dökeceğiz? Bu ayrı ayrı
tablolara bölünmüş bilgileri nasıl birleştireceğiz? Başka bir deyişle, ayrı
tablolara böldüğümüz verileri işare yarar, anlamlı diziler haline
getirmek için nasıl birleştirebiliriz?
Bunu, tabloları herbirinin diğeri için anlamlı tek özgün alanından, yani
Birincil Anahtarlarından birleştirerek yapabiliriz. Veritabanınızı bu
birden fazla tabloya bölerek ve herbirine özgün birincil anahtar alanları
koyarak tasarlasanız bile, aynı veritabanı içinde yer alıyorlar diye
tablolarınız kendiliklerinden ilişki kurmazlar. Bunu bizim sağlamamız
gerekir. Kendi tablolarımızda kendi ilişkilerimizi oluşturmadan önce,
Access 2000’nin bunu nasıl sağladığını görmek, ilişki konusunda bize
daha iyi fikir verecektir. Bunun için Access 2000’i çalıştırın; Yeni
veritabanı oluşturmak üzere açılan pencerede Veritabanları sekmesini
seçin ve Stok Yönetimi şablonunu işaretleyin. Yeni boş stok yönetimi
53
veritabanınız oluşturulduğunda, eğer Access penceresi içinde
küçültülmüş durumda ise veritabanı penceresini büyütün; Switchboard
adı verilen veritabanını kullanmanız için oluşturulan grafik arayüzü
kapatın. Stok Yönetimi1 adlı yeni stok yönetimi veritabanınızın
nesnelerinden Tablolar’ı seçtiğinizde, yedi adet aslî tablo
oluşturulduğunu göreceksiniz: Ürünler, stok hareketleri, kategoriler,
çalışanlar, sipariş formları, üreticiler ve nakliye yöntemleri. Stok
yönetimi konusu ile hiç ilginiz yoksa bile, sadece ilişki konusunu
kavramak için, bu tabloların bir firmanın elindeki stokları takip için
gerekli ve yeterli olduğunu varsayalım.
Şimdi, Araçlar menüsünden İlişkiler maddesini seçin. Karşınıza şuna
benzeyen bir pencere açılacaktır:
Açılan penceredeki kutular arasındaki çizgiler buradaki görüntüye
benzemiyorsa, kutuları Mouse işaretçisiyle başlıklarından tutarak
sürükleyebilir ve konumlarını buradakine benzer şekle getirebilirsiniz.
Bu pencerede, kutuların başlığının tablo adlarını içerdiğine dikkat edin.
Kutuların içindeki maddeler ise tablolardaki alanların adlarıdır. Her
tablonun kutusunda bir alan adının koyu yazıldığını görüyor musunuz?
Bu, o tablonun birincil anahtarı olan alandır. Bazı alanlardan çıkan
çizgilerin diğer bir kutudaki alana bağlandığını görüyorsunuz. Dikkat
ederseniz, aralarında çizgi bulunan alan adlarının aynı olduğunu da
göreceksiniz.
Bu çizgilere ilişki denir; tabloların birbirleri ile hangi alanlarından
ilişkide olduklarını gösterir. Şemaya veya Access İlişkiler Penceresi’ne
tekrar bakarsanız, ilişki çizgilerinin bazılarının sol ucunda “1,” sağ
ucunda sonsuz işaretinin bulunduğunu, bazı ilişkilerde işaretlerin yer
değiştirdiğini ve diğerlerinde ise çizgilerin işaretsiz olduğunu
göreceksiniz. Bu işaretler kurulan bağın niteliğini gösterir; bağın
niteliği ise daha sonra iki tablo arasında yapılabilecek birleştirmede
hangi kayıtların hangi kayıtlarla birleştirileceği veya Access’in deyimiyle
eşleştirileceğini tayin eder. Bu tanımla biraz şifreli görünüyorsa da
Access’te kurabileceğimiz ilişkilerin niteliklerini ele alınca manzara
aydınlığa çıkacaktır. Tablolarınızın arasında üç tür ilişki olabilir:
Bire bir ilişki: İlişkilendirdiğiniz iki tablodan birincisi ile ikincisi
arasında sadece bir kayıt eşleşebilir. Bu tür ilişkilendirmeyi
tabalolarımızda sık kullanmadığımızı göreceksiniz; çünkü genellikle
böyle tek gerçekli tablo yapmayız.
Bir-çok ilişkisi: Birbirine bağladığımız iki tablodan birindeki bir kayıt
diğer tabloda birden fazla kayıtla eşleşebilir. İkinci bölümdeki
örneğimizi hatırlarsanız: bir ailenin birden fazla çocuğu olabilir; fakat
54
her çocuğun sadece bir ailesi olabilir. Dostlarnımızın çocuklarıyla
birlikte bir tablosunu edinmek istersek, üç çocuklu dostlarımızın adı
yeni tabloya üç ayrı satırda yazılacak, iki çocuklu dostlarımızın adları
iki, tek çocuklu dostlarımızın adları ise bir kere girecektir. Neden?
Çünkü aile bağı (Aile Sıra No alanı), Çocuklar tablosunda çok kayda
işaret ediyor.
Çok-çok ilişkisi: İlişkilendirdiğimiz tablolardan birincisinde birden
fazla alan, ikincisinde birden fazla kayda (ve tabiî ikincisindeki birden
fazla alan birinci tablodaki birden fazla kayda) işaret ediyorsa, bu kez
tablolar arasında çok-çok ilişkisi var demektir. Örnek tablomuzda böyle
bir durum yok, ama bir sipariş veritabanı düşünün: her bir sipariş
emrinde birden fazla mal sipariş ediliyor olabilir; mal tablosunda ise
her bir mal birden fazla sipariş tablosunda görünüyor olabilir. Böyle bir
ilişkinin sonucu ortaya çıkacak üçüncü tabloda hem hem her bir
sipariş, hem de her bir mal birden fazla satırda görünecektir.
Şimdi bu bilgilerin ışığında biraz önce oluşturduğunuz Stok Yönetimi
veritabanının ilişkiler penceresine bakalım. Şimdi bu veritabanındaki
dosyaları kullanarak, firmamızın verdiği siparişlerle ilgili ve siparişi
veren personele göre sipariş miktarlarını gösteren yeni bir tablo
yapabilir miyiz? Yapabiliriz. Siparişi veren Personel, hangi tabloda
hangi alandaki bilgi ile bulunacak? Çalışanlar tablosundaki ÇalışanNo
alanındaki veri ile. Peki, bu alandaki kayıtlar, hangi tablodaki hangi
alanda bulunan kayıtlarla eşleştirilecek? Sipariş formları tablosundaki
ÇalışanNo alanındaki kayıtla. Yani Çalışanlar tablosundaki ÇalışanNo
alanındaki veri Ahmet Çalışkan arkadaşımıza ait 812 ise ve bu değer,
Sipariş formları tablosundaki kayıtlarda ÇalışanNo alanındaki değerlerle
eşleşiyorsa, bu kayıt yeni tablomuza alınacak; sonra sırasıyla diğer
değerler taranacak, eşleşenler yeni tabloya dahil edilecektir. (“Yeni
tablo nerede ve nasıl oluşacak?” sorusunu şimdilik sormayın; bunu
Sorgu ile yapacağız; ve daha sonra ele alacağız.) Çalışanlar
tablosundaki ÇalışanNo alanında Mehmet Tembeloğlu arkadaşızı
belirten 813 şeklindeki veri, Sipariş formları tablosundaki kayıtlarda
ÇalışanNo alanındaki hiç bir veri ile eşleşmiyorsa ne olacak? Yeni
tabloda 813 şeklindeki ÇalışanNo’yu içeren bir kayıt olmayacaktır. Ve
muhtemelen Mehmet Tembeloğlu, neden hiç sipariş vermediğini izah
etmek zorunda kalacaktır!
Tablolarımız arasında ilişki oluşturma işini kendimiz yapmak istersek,
yine biraz önce açtığımız Araçlar menüsünden İlişkiler maddesini
geçerek açtığımız pencereyi açmamız gerekir. İkinci bölümdeki Adres
Defteri alıştırmasını yaptıysanız, şimdi bu veritabanı dosyasını
açabilirsiniz. Bu alıştırmayı yapmadı iseniz, şimdi ikinci bölüme dönüp
bu dosyayı oluşturabilirsiniz! Veritabanı açıldığında veya tabloları
55
oluşturma işini bitirdiğinizde Araçlar menüsünden İlişkiler maddesini
seçin. Karşınıza şuna benzeyen bir görünüm gelecektir:
Biz kurmadığımız halde iki tablomuz arasındaki bu ilişki, Çocuklar
tablosunu oluştururken, Aile Sıra No alanının doldurulması için Aile
tablosunun aynı adlı alanına girilmiş kayıtlara bakılmasını istemiş
olmamızdan kaynaklanıyor. Burada gördüğünüz çizgiyi ortasından sağ
tıklayın ve açılan menüden Sil maddesini seçin; Access silme işlemini
onaylattırmak istediğinde Evet’i tıklayın. Şimdi ilişki oluşturmaya
sıfırdan başlayabiliriz.
Önce bir kere daha kurmak istediğimiz ilişkinin amacını tekrar edelim:
yeni adres defterimizi oluşturduğumuz sırada öyle bir an olabilir ki,
dostlarımızın çocuklarını gösteren, veya çocukların ailelerine göre
sıralandığı bir liste yapmak isteyebiliriz. Böyle bir yeni tablo
oluşturmaya kalktığımızda, Access’in hangi çocuğun hangi aileye ait
olduğunu bilmesi gerekir. Bunu iki tabloyu ilişkilendirerek veya başka
bir ifadeyle Access’e, hangi çocuğun hangi aileye ait olduğunu nasıl
belirleyeceğini söyleyerek yapabiliriz. Access’e şunu söylemek
zorundayız: Çocuklar tablosundaki kayıtlarla Aile tablosundaki kayıtları
birleştirirken birinci tablonun Aile Sıra No alanındaki değerin Çocuk
tablosundaki kaydın aynı isimli alanındaki değerle eşleşip
eşleşmediğine dikkat et; eğer bu veriler aynı ise o zaman bu çocuk o
aileye ait demektir; iki kaydı birleştirebilirsin.
Bunu söylemenin yolu ise çok kolay: İlişkiler tablosuna ait kutudaki
AileSıraNo satırını Mouse işaretçisiyle tutup, götürüp Çocuk
tablosundaki AileSıraNo satırının üzerine bırakın. (İlişkiler penceresini
açtığınızda tablolarına ilişkin kutuları göremiyorsanız, İlişkiler
menüsünden Tablo Göster maddesini; açılacak kutuda kayıtları
arasında ilişki kuracağınız, dolayısıyla görüntülenmesini istediğiniz
tabloları seçerek Ekle düğmesini tıklayın.)
Sürükleme sırasında Mouse işaretçisinin dikdörtgen ilişki simgesine
dönüştüğünü göreceksiniz (işaretli). Mouse işaretçisi bırakacağınız yere
dikkat etmelisiniz: Access 2000, dörtgeni hangi alan adı üzerinde
bırakırsanız, o alanı ilişkilendirir. Mouse’un sol düğmesini bıraktığınız
anda İlişkileri Düzenle diyalog kutusu açılacaktır.
Burada solda ilişkinin başladığı tablo ve alan ile ilişkinin kurulduğu
tablo ve alan gösterilmektedir. Her ikisinin de seçme düğmelerini
tıklayarak başka alanlar seçebilirsiniz. Bu listenin altında, “Bilgi
tutarlılığına zorla” seçeneğine işaret koyarsanız, Access 2000 size iki
seçenek daha verir: ilişkinin sol tarafındaki alan güncelleştirilirse, bu
56
ilişkiye dahil tabloların da güncelleştirilmesi, alan silinecek olursa diğer
tablodaki kayıtların da silinmesini sağlayabilirsiniz. (Güncelleştirme
kullanışlı bir seçenek olmakla birlikte, silme işlemini otomatik hale
getirmek, istemeden bilgi kaybına uğramanıza yol açabilir.)
İlişkileri Düzenle kutusunun sağ tarafındaki düğmelerden Birleştirme
Türü düğmesini tıklaksanız, ilişkinin yönü ve türünü belirleme imkanını
veren, üç seçenekli Birleştirme Özellikleri kutusunu açmış olursunuz.
Burada yapacağınız tercihler, hangi tablodan hangi kaydın alınacağını
belirler. (Sırasıyla her üç seçeneği seçtiğinizde, ilişki çizgisinin
ucundaki okların yönünün nasıl değiştiğine dikkat edin.)
Kutuları sarısayla kapattığınızda, iki tabloyu ilişkilendirmiş, başka bir
deyişle Access 2000’i bu tabloları kullanarak yapacağınız veri-işleme
hazırlamış olursunuz. Bir veritabanındaki tablolar arasında ilişkileri
oluştuğunuz zaman Access 2000, hiç bir yapmayacak, söz gelimi
ortaya yeni bir tablo veya rapor çıkartmayacaktır. Bunu yapması için
gerekli talimatı daha sonra vereceğiz. Şimdilik sadece Access’e, bu
talimatı yerine getirmesi için gerekli bilgiyi vermiş, veritabanımızın
tabloları arasındaki bağları tanıtmış olduk.
Access 2000’in veri-işlem işleri için yapması gereken bir diğer hazırlık
ise Endeks çıkartmaktır. Veritabanımızın tablolarını neden
endekslettirmek isteriz? Daha sonra yapacağımız veri-işlemleri hızlı
olsun diye? Access 2000’ın endeksi, tıpkı bir kitabın arkasındaki endeks
gibi çalışır: aradığınızı kolay bulursunuz. Burada bulma işlemini kitap
okurundan farklı olarak kullanıcı değil Access yapmaktadır. Access,
kendi endekslerini, vereceğiniz sorgu talimatlarını icra ederken,
tabloları sıraya sokarken, rapor oluştururken ve arama yaparken
kullanır.
Köprü, not ve OLE nesnesi içeren alanlar dışındaki tür alan türleri
endekslenebilir. Sadece Birincil Anahtar olan alan değil, bütün alanlar
(türü uygunsa) endekslenebilir; birincil anahtar alanı otomatik
endekslenir. Endeks, sorgu, sıralama ve aramayı hızlandırır; fakat bir
veri tabanında ne kadar çok alan endeksleniyorsa, Access 2000’in
veriişlem hızı o kadar azalabilir. Access 2000’e tablo tasarımı sırasında,
endeks yaparken birden fazla benzer kayıt bulunması halinde ne
yapması gerektiğini biz söyleriz. Tablo tasarım penceresinde bir alan
türünü tıkladığınızda, alan türü elverişli ise, pencerenin Alan Özellikleri
bölümünde Sıralı satırı belirir. (Access 2000, endekse yardım
dosyalarında “dizin” derken burada “Sıralı” demeyi tercih ediyor. Ama
bu kadar kusur, kadı kızında da olur!) Bu satırın içini ve sağında
belirecek seçme okunu tıklarsanız, üç seçeneğiniz bulunduğunu
57
görürsünüz: “Endeks yapma!” anlamına “Hayır” ; “Endeks yap, ve
tekrarlara aldırma!” anlamına “Evet, Tekrarlama Var”; ve “Endeks yap
ve bu arada tekrarları yakala!” anlamına “Evet, Tekrarlama Yok.” Bu
sonuncu tercihi seçerseniz, Access, endekslenmiş alanlarda, tüm
kayıtların benzersiz olmasına dikkat eder ve sizi uyarır.
Böylece, veritabanımızı birincil anahtarları, ilişkileri ve endeksi ile veriişleme hazırlamış bulunuyoruz. Bundan sonra, tablolarımızı
sorgulayabilir; tablolar ve sorgulardan raporlar hazırlayabiliriz.
Verilerimizi, kelime işlem programının içinde tablolar oluşturup, bu
tabloların içine yazmıyorsak, bunun bir nedeni olabilir: Verişlem
programlarının sorgu aracı. Sorgu veya Query, veritabanı fikri ortaya
atıldığı günden beri var. Hatta, veritabanı dosyalarının, diğer bilgisayar
kayıt dosyalarından ayrışmasını sağlayan unsur, sorgudur. Bir
veritabanı dosyasındaki bilgileri sorgulama ve bu verilerden yeni
bilgiler elde etme ihtiyacı o kadar belirgin hale geldi ki, bilgisayar
mühendisleri sırf bu iş için bir dil bile icad ettiler: Sorgu Dili (Query
Language).
Ne var ki, veritabanı biçimi kadar sorgulama dili ortalığı kaplayınca,
belli başlı bilgisayar donanım ve yazılım firmaları ve üniversiteler
biraraya gelerek, bu kargaşaya son vermek üzere kolları sıvadılar; ve
ortaya SQL (Structured-Yapılandırılmış Sorgu Dili) çıktı.
Yapılandırılmış Sorgu Dilinin Kısa Tarihi
SQL, 1980’lerin başlarında Sybase firması tarafından UNIX ortamı için
geliştirildi. Microsoft firması, Sybase’den ruhsatını aldığı bu teknolojiye
dayanan MicrosoftSQL Server programını 1987’de Windows 3 için
piyasaya sürdü. Ertesi yıl, MS, Sybase ve Ashton-Tate firmaları
MSSQL-Server’nın OS/2 sürümünü ortaklaşa hazırladılar ve daha sonra
IBML’in de katıldığı bu çaba 1991’e kadar sürdü. Ashton-Tate’in bu
birlikten 1990’da çekilmesi üzerine, Sybase ve MS yeni bir anlaşma
yaparak, dili ve Server’ı, Windows NT ortamı için birlikte geliştirmeye
başladılar. Bu çabanın sonucu SQL Server programı oldu. Bu program,
bugün 7’nci sürümündedir.
Bir taraftan endüstri çapında geçerli bir teknoloji ve bu teknolojinin
başlıca aracı olan bir dilin adı olarak SQL, diğer taraftan Microsoft
firmasının bu teknoloji ve dili kullanan bir programının adında (SQL
Server) kullanıldığı için, sadece Microsoft’a ve Windows ortamına ait
sanılabilir. Bu doğru değildir. SQL, bugün piyasada bulabileceğiniz belli
başlı veritabanı oluşturma ve veri-işlem programlarının ortak dilidir.
58
Microsoft Access, 1992 yılında dünyaya geldi; ve ilk günden itibaren
tek başına bir veritabanı oluşturma ve işleme programı olarak değil,
fakat daha büyük veritabanı dosyalarına, veri bankalarına bağlanabilen
ve oradaki verileri işleyebilen bir program olarak tasarlandı. Access
2000, Access Projesi (Dosya menüsünden Yeni maddesini ve açılan
şablon kutusunda “Proje (Yeni Veritabanı)” adlı simgeyi tıklayın)
dosyaları oluşturarak, SQL Server dosyalarına ulaşabilir; bu dosyalarda
SQL sorguları çalıştırabilir.
İyi bir Access kullanıcısı, bu programla büyük veritabanı mimarisine
adam atabilir; ileri düzeyde veri-işlem tekniklerini öğrenebilir. Veri
Madenciliği (Data Mining) teknolojileri, Online Analytical Processing
(OLAP) teknikleri ve günümüzde veri yönlendirmeli Web uygulamaları,
SQL’e dayanan gelişmelerdir. Access’te öğreceğiniz SQL, size bu
teknolojilerie ilk adımı atmayı sağlayacaktır.
Access’te SQL’e ilk adım ise daha önce gördüğümüz Süzme işleminin
son bölümünde kısaca sözünü ettiğimiz Gelişmiş Süzme/Sıralama aracı
ile atılabilir. Aslında Access’te yaptığımız seçme veya Form yoluyla
süzme işlemleri, bir sorgu işlemidir; ancak bu sorgunun SQL komutunu
(veya Access’in kullandığı kelimeyle, “deyimini”) Access kendisi
oluşturur. Gelişmiş Süzme/Sıralama (GSS), diğer süzme işlemlerine
göre “ileri” sayılırsa da, bir sorgu deyimi (SQL komutu) yazmanın
yanında basit sayılabilir. Bu sebeple, tabir yerinde ise Access’in
desteklediği bir sorgu geliştirme işlemi olan GSS’yı sorguya giriş
konusu olarak ele alabiliriz. GSS’yı kavradığımız anda sorgu tekniğini
kavramış oluruz. Access’in sorgu tekniği ise daha genel SQL’e giriş
sayılır.
GSS’nin bir sorgu aracı olarak sınırlamaları vardır. Sadece bir tablonun
içerdiği verilerle çalışabilir; birden fazla tablo veya başka sorguların
sonuçlarını kullanamaz. Sonuç itibariyle gSS de bir tabloda belirli
ölçütleri karşılayan kayıtları görünteleme aracından başka bir şey
değil; birden çok tabloda sorgu yapmak için gerçek sorgu aracını
kullanıp, gerçek SQL komutları yaszmamız gerekir. GSS’te verilere
sadece basit sorular sorabiliriz. (Daha gelişmiş sorgular için, gerçek
sorgu aracını kullanırız.) GSS ile yapacağımız süzme sonunda
görüntülenen kayıtların bütün alanları görüntülenir; oysa gerçek
sorguda ortaya çıkacak yeni tablo veya formda hangi alanlar olsun
istiyorsanız o alanlar olur. Bu sınırlamalarına rağmen (belki de bu
yüzden) GSS, Access’te sorguya giriş için mükemmel bir adım sayılır.
Şimdi bir tabloyu açın ve Kayıtlar menüsünden önce Süz, sonra
Gelişmiş Süzme/Sıralama maddesini seçin.
59
Bu, eğer başta tablo ekleyebilseydik, sorgu hazırlama penceresinin ta
kendisi olurdu. GSS, belirttiğimiz gibi sadece bir tablo ile çalışır; ve o
tablo da seçilmiş olarak karşımıza gelir. Bu penceresi inceleyelim.
Üstte, sorguda (pardon, süzgeçte) kullanılacak tablo yer alır. Buraya
alan listesi denir. Altta ise süzgeci oluştururken kullanacağımız,
şimdilik boş olan, sorgu tasarım kılavuzu yer alır. Burada sadece
sözme amacıyla yararlanacak da olsak oluşturacağımız “şey” gerçekten
bir sorgudur. Bu bölümde, Alan isimli birinci satırın birinci sütundaki
kutusunun içini, sağda seçme oku belirince oku tıklayın: yukarıda alan
listesinde yer alan alan adlarının burada sıralandığını göreceksiniz.
Sorgu, burada olduğu gibi ileri düzeyde süzme işlemi için bile olsa,
“veriye soru sorulması” anlamına gelir. GSS’de bir sınıftaki öğrencilerin
sınav notlarını içeren tablomuza örneğin “Son üç sınavda 4,5’dan aşağı
not almış öğrenciler kimler?” diye sorabiliriz. Ya da yemek tariflerini
derlediğimiz bir veritabanında, “Kebaplar” tablosuna “İçinde biber
olmayan ve kıyma ile yapılmayan kebaplar hangileri?” sorusunu
yöneltebiliriz. Müzik kaset ve CD’lerinizin veritabanındaki “Türküler”
tablosuna “Yavuz Bingöl’ün 1996’dan sonra çıkmış kaset ve CD’leri
hangileri?” diye sorabiliriz. Ya da elimizdeki Adres Defteri veritabanında
Aile tablosuna “Istanbul ve Niğde’de oturan ve kart yollamam gereken
dostlarım kimler?” şeklinde bir soru yöneltebiliriz.
Bunun için, Alan sırasının birinci sütundaki kutusunun seçme okunu
tıklayarak, alan listesinden Şehir’i seçmemiz gerekir. Sonra, GSS’nin
sadece süzme değil aynı zamanda sıralama yaptığını hatırlayarak,
ikinci sıradaki Sırala kutusunun sağındaki seçme okunu tıklayarak,
Artan, Azalan ve Sırasız seçeneklerinden Artan’ı seçelim. Ve sıra geldi,
süzme için uygulatacağımız ölçütleri belirlemeye. Ölçüt satırının içini
tıklayıp “Istanbul” yazıyoruz. Tırnak işaretlerini siz koymazsanız,
Access koyar. Istanbul VE Niğde’de oturan dostlarımızı birlikte seçmek
için, alttaki VEYA satırına da “Niğde”yazalım. Buraya kadar, tabloya
soracağımız sorunun birinci bölümünü sormuş olduk: Istanbul ve
Niğde’de oturanlar. Şimdi sorgunun ikinci bölümüne geliyoruz: Kart
göndermem gerekenler. İkinci bölümdeki veritabanı alıştırmasını
yaptıysanız, “KartYolla” alanının türünü “Evet/Hayır” yaptığımızı
hatırlıyor olmalısınız. Şimdi, Alan satırının ikinci sütununda KartYolla
alanının seçin; (“Evet” değerlerinin sıraya sokulmasına gerek
olmadığına göre ikinci satırı atlayabilirsiniz) ve Ölçüt sarımına Evet
yazın. Araç çubuğundaki Süzgeçi Uygula simgesi tıklayın ve tablonuzun
sadece Istanbul veya Niğde’de oturanlardan kendilerine kart yollamam
gerekenleri gösterdiğini, diğerlerinin süzüldüğünü ve süzgecin diğer
tarafında kaldığını göreceksiniz.
60
Kendi kendinizi kutlayabilirsiniz: çünkü sadece Access’in gelişmiş
süzme ve sıralama aracını kullanmakla kaldık; SQL komutu yazmaya
da ilk adımı attık. Şimdi artık Access’te ciddi sorgulama işleri
yapabiliriz.
“Sorgu, veriye soru sormaktır!” demiştik. Kimi zaman bir tablonun
cevaplayabileceği soruları, süzme ve hatta sıralama ile
çözümleyebiliriz. Fakat elde iki veya daha çok tablo varsa ne yapanız?
Diyelim ki, siz sadece bir sınıfın değil, beş ayrı sınıfın öğretmenisiniz ve
sınıflarınızda başarı oranını etkileyen garip bir eğilim farkettiniz. Sizin
derslerinizde kız öğrenciler genellikle başarısız oluyor. Sadece bir
sınıfın öğretmeni olsanız, bu kuşkunuzun yerinde olup olmadığını
sınamak için iki süzme işlemi size sonucu verirdi. (Nasıl?) Fakat beş
ayrı sınıf söz konusu olunca, her tablonun kendi içindeki yüzdeler,
anlamlı olmayabilir. Size bütün tablolardan seçme-süzme yapan bir
araç gerekiyor. Ya da beş tabloya birden soru sormanızı sağlayacak bir
araç. Bu aracın adı Sorgu’dur.
Access’in Sorguları
aldığımız Gelişmiş Süzme/Sıralama aracının birden fazla tablo kabul
edebilenidir. Çapraz sorgu, verileri gruplandırarak, bunlar için sayım,
toplam ve ortalama gibi hesapları yapar. Örneğin öğrencileri
cinsiyetlerine ve derslere göre gruplandırıp, aldıkları not ortalamalarını
göstermek., çapraz tablo yapmaktır. Çapraz sorgu bir tabloda çalıştığı
için, örneğin öğrencilerinizin notları derslere göre ayrı tablolarda ise
bunları bir tabloda basit seçme sorgusuyla birleştirmeniz gerekir. Tablo
yapma sorgusu, seçme sorgusundan farklı olarak, çalıştığı zaman
ortaya bir tablo penceresi çıkmaz; Access, sizden daha önce aldığı
isimle bir tablo oluşturur. Bu tablo veritabanının parçası haline gelir.
Oysa diğer sorguların sonuçları ancak sorgu çalıştığı sırada vardır.
Güncelleştirme sorgusu, sorgu tasarımı sırasında verdiğiniz bir sabit
değeri veya verdiğiniz bir deyimin o sırada bulunacak sonucunu, tayin
ettiğiniz bir alana yazar. Bu, “Bul-Değiştir” gibi basit bir araç olmayıp,
her kaydı, belirli bir formüle veya kıydın kendi içindeki bir değere göre
yeniden hesaplayabilir. Ekleme ve Silme sorguları da güncelleştirme
sorgusu gibi, ya farklı tabloların kayıtlarını birbirine ekler, ya da
tablolardaki kayıtları siler. Bunların dışında tasarım sırasında
yüklediğiniz işlevlerin bir sonucu olarak bir sorgu Parametre sorgusu
(verdiğiniz görevi yapabilmek için kullanıcıdan bir değer girmesini
isteyen sorgu), SQL Sorgusu (SQL komutlarını kullanarak birleşim,
doğrudan sorgu, veri tanımla ve alt sorgu gibi veritabanınızı ODBC
yoluyla dışarıdan kullanacak kullanıcıları gözönünde tutarak
61
hazırladığınız sorgular) ve otomatik arama sorgusu (yeni bir kaydın
bazı alanlarının otomatik olarak doldurulmasını sağlayan sorgu,
AutoLookup sorgusu) diye de adlandırılabilir.
Basit Seçme Sorgusu (BSS) dışındaki sorgular, ileri düzeyde Access
bilgisi ve hatta bir ölçüde Programlar İçin Visual Basic (VBA) bilgisi
gerektirebilir. BSS’yi iyi kavrayarak, bu ileri düzeydeki sorgular için
mükemmel bir başlangıç yapabilirsiniz. BSS’in temel özelliklerini
sıralarsak, şunlar karşımıza çıkıyor:
1. Sorguda birden fazla tablo kullanabilirsiniz; tablolar arasında
oluşturduğunuz ilişkiden yararlanabilirsiniz.
2. Sorgu sonucu sadece istediğiniz alanları görüntüleyebilir; bu sırada
gerekli olmayan sütunları yeni sorgu sonucu tablosuna almayabilirsiniz.
3. Sorgu sonucu oluşacak tabloda alanları istediğiniz sütun sırasına
sokabilirsiniz.
4. Seçme işlemi sonucu kaç kaydın görüntülenmesini istiyorsanız, o
kadar kayda yer verebilirsiniz.
5. BSS (ve diğer) sorguları icra ettikten sonra, sorguya konu olan
tabloların değerlyeri değişmez; başka bir deyişle sorgular tabloları
sadece “okur,” içeriğini değiştirmezler. Bir sorgu işledikten sonra tablo
oluşturuyorsa (Tablo Yapma Sorgusu ise) ortaya yeni bir tablo çıkar.
Sorguyu tekrar çalıştırdığınızda bu tablo yeniden yazılır ve Access
2000, Özelleştir kutusunda yaptığınız uyarı ayarlarına göre sizi
uyarabilir.
İkinci bölümdeki Adres Defteri alıştırmasını yaptıysanız, bu veri
tabanını açın ve birlikte bir BSS oluşturalım. Adres Defteri veritabanını
oluşturmadı iseniz, aşağıdaki adımları kendi veritabanınıza uygulamak
zorundasınız. Burada yapmak istediğimiş iş veya Access 2000’e
sormak istediğimiz soru şu: Istanbul’da oturan ve çocuğu olan
dostlarımız kimler, çocuklarının adı ne?
Veritabanı dosyası açıldığında, veritabanı penceresinde, nesneler
listesinde Sorgular satırını tıklayın. Sorgular penceresinde “Tasarım
görünümünde sorgu oluştur” ve “Sihirbazı kullanarak sorgu oluştur”
şeklinde iki kısayol göreceksiniz. Pencerenin araç çubuğundaki Yeni
düğmesini tıklarsanız, karşınıza daha çok imkan sunan bir sihirbazın ilk
adımını içeren bir kutu açılacaktır. Bu kutudaki Basit Sorgu Sihirbazı
maddesi, Sorgu nesnesi penceresindeki “Sihirbazı kullanarak sorgu
oluştur” kısayolu ile aynı sonucu verir. İster Yeni’yi tıklayıp açılan
kutudan Basit Sorgu Sihirbazı maddesini seçin, ister “Sihirbazı
kullanarak sorgu oluştur” kısayolunu tıklayın.
62
BSS sihirbazının ilk penceresinde hangi alanların sorguda bulunmasını
istediğinizi belirtmeniz gerekir. Bir sorgu sadece tablodan değil sorgu
sonucundan da seçme yapabilir; dolayısıyla sol üstteki seçmeli listede
veritabanınızda mevcut bütün tablolar ve sorgular sıralanır. Bu listede
seçilmiş olan tablo veya sorgunun içerdiği alanlar ise sol altta
kullanılabilir alanlar listesinde yer alır. Veritabanımıza soracağımız
sorunun birinci bölümü “Istanbul’da oturan” dostlarımızın seçilmesi
olduğuna göre, bu kişilerin kayıtlı olduğu Aile tablosunu seçmek
zorundayız. Bu alanlardan hangileri BSS sonucu oluşturulacak
tablomuzda yer alsın istiyoruz? Bir kere dostlarımızın adını ve soyadını
seçmemiz gerekir. Seçilecek kişilerin tümünün Istanbul’da oturanlar
olması için Şehir alanının da seçilmesi şart. Bunu yapmak için arzu
ettiğimiz alanın adını bir kere tıkladıktan sonra ortadaki düğmelerden
en üstte olan sağa doğru tek oklu düğmeyi tıklıyoruz. Soldaki alanların
tümünün sorgu sırasında kullanılabilir olmasını isteseydik, ikinci
sıradaki iki oklu düğmeyi tıklamamız gerekirdi. Bir alanı yanlışlıkla sağa
geçirirsek, üçüncü sıradaki sola doğru tek oklu düğmeyi tıklayarak
sorguda kullanabileceğimiz alanlar listesinden çıkartırız. Bu alanların
tümünü sorgu listesinden çıkartmak için el alttaki iki oklu düğmeyi
tıklayabiliriz.
Veritabanına sorduğumuz sorunun ikinci bölümü, Istanbul’da oturan
dostlarımızdan sadece çocukları olanların seçilmesini, üçüncü bölümü
ise çocukların adlarının da listelenmesini gerektirdiğine göre, bize
Çocuklar tablosu ve bu tablodaki çocuk adları alanı da gerekiyor. Şimdi
Tablolar ve sorgular kutusunun seçme okunu tıklayarak açılan listeden
Çocuklar tablosunu seçelim, sonra da bu tablonun Adı adlı alanını sağa
aktaralım. Ama hemen İleri düğmesini tıklamayın.
Şimdi bir an için kendimizi Access 2000’in yerine koyalım: Biraz sonra
bir seçme işlemi yapacağız; çocuğu olan ve Istanbul’da oturan kişileri
seçeğiz. Istanbul’da oturanları seçmek kolay: Eğer Şehir alanındaki
değer “Istanbul” ise bu kişiyi seçebiliriz. Peki bu kişilerin çocuğu olup
olmadığını nasıl bilebiliriz? Veya şöyle soralım: bu kişilerin çocukları
varsa bunları Çocuklar tablosunda nasıl belirleyebiliriz? Bu iki tablo
arasında ilişki sağlayan alanla! Veritabanı tasarımında en zor nokta,
tablolarda gereksiz yere tekrarı önlemek amacıyla alanları başka
tablolara aktarmak gerektiğinden söz ettiğimiz sırada, tablolar arasında
ilişki kurmamız gerektiğini belirtmiştik. İkinci bölümden hatırlıyorsanız,
Aile tablosuyla Çocuklar tablosu arasındaki ilişkiyi, yani hangi çocuğun
hangi aileye mensup olduğunu Aile Sıra No alanındaki bilgiyi iki tabloda
ortak kullanarak biliyoruz. Başka bir deyişle bir çocuğun Aile Sıra No
alanındaki değer, bu çocuğun hangi ailenin üyesi olduğunu gösteriyor.
Sorgu sırasında Access 2000, şöyle düşünebilir: “Hımm. Istanbul’lu bir
63
kişiyi seçeyim; sonra bu kişinin Aile Sıra No alanındaki değeri, Çocuklar
tablosundaki aynı adlı alanda arayayım; eğer bu iki değer aynı ise bu
çocuğun adını alıp, Istanbullu kişi ile birlikte kaydedeyim.” Access’in
düşündüğünü uygulayabilmesi için, ona her iki tablodan Aile Sıra No
alanını da vermemiz gerekir. O halde önce açık olan Çocuklar
tablosunun, sonra da yeniden Aile tablosunu seçerek, Aile Sıra No
alanlarını sağa aktarın. Bu kutuda işimiz bittiğine göre Tamam’ı
tıklayabilirsiniz. (Sorgu kaç tablodan kaç alan seçmeyi gerektiyorsa, o
kadar alan seçebilirsiniz. Buradaki örnek bu alanları gerektirdiği için
burada duruyoruz; sizin örneğiniz başka tablolardan başka alanlar
gerektiyorsa, seçmeye devam edin.)
Basit sorgu sihirbazının ikinci penceresi, sorgu sonucu oluşturulacak
tabloda kaç kayıt olacağını belirler. Varsayılan değer, seçtiğiniz
tablolardaki tüm kayıtların sorgu sonucu oluşacak tabloya alınmasıdır.
Fakat diyelim ki size sorgu sonucu oluşacak tablonun ilk 5, 25 veya
100 kaydını içeren özet bir tablo da oluşturabilirsiniz. Özet tablo için
Özetk seçeneğini seçin ve Özet Seçenekleri düğmesini tıklayın. Bu iş
bittikten sonra veya Ayrıntılı seçeneğini seçerek, İleriyi tıklayabilirsiniz.
Üçüncü pencerede yeni sorgunuza isim vermeniz, Son’u tıkladığınızda
sorgunun icra edilmesini mi, yoksa sorguda sihirbazın yapmadığı
değişiklikleri yapmak üzere tasarım görünümünün açılmasını mı
istediğinizi belirtmeniz gerekir. Burada yardım isteyip istemediğinizi
belirteceğiniz bir başka seçenek daha var. Tasarımı güç sorgular
yaptığınızda, Access 2000’in yardım penceresinin açılmış olması size
kolaylık sağlar. Şimdi, sorgunun tasarımı ile ilgili işlerimiz bitmediği için
ikinci seçeneği işaretleyerek Son’u tıklayalım.
Access 2000, seçtiğiniz iki tabloyu sorgu tasarım penceresinin üst
bölümünde gösteriyor. İki tablo arasındaki ilişki çizgisine dikkat edin;
bu ilişkiyi ikinci bölümdeki alıştırma sırasında kurmuştuk. Access,
seçtiğiniz altı alanı, değerleri ne olursa olsun, bütün kayıtları ile
seçmeyi (ve bunu yaparken iki tabloyu birleştirmeyi) sağlayan bir
sorgu tasarımı öneriyor. Bütün alanların seçildiğini, sorgu tasarım
penceresinin alt yarısındaki kılavuzda, Alan satırındaki alan adlarından
anlıyoruz. Bu satıra yazılan alan adlarını inceleyin; tablo adı ile
tablonun alan adı nasıl birleştiriliyor? İkinci satırda ise tablonun adı
belirtiliyor. Sırala satırının boş bırakıldığına dikkat edin. Göster
satırındaki kutuların işaretli olması bu alanın sorgu sonucu
oluşturulacak tabloda gösterileceği anlamına geliyor. Ve son olarak
Ölçüt satırlarının boş olduğuna dikkat edin.
64
Biz sorgumuzun sadece çocukları olan Istanbulluları kapsamasını
istiyorduk. O halde, Şehir alanının sütununda, Ölçüt satırına “Istanbul”
yazmamız gerekiyor, ki sadece Istanbullular seçilsin. Peki bunlar
arasından çocukları olanları nasıl seçeğiz, Access ile çalışma konusunda
ustalığınız ilerledikçe, bu tür şartlı seçmeleri (SQL deyiminde “eğer”
şartı geçen sorguları) oluşturma becerisi de edineceksiniz. Fakat
şimdilik böyle bir sorgu deyimi oluşturmaya gerek yok: Access,
çocuklar listesindeki Adı değerlerini seçerken, bunların Aile Sıra No
değeri Aile tablosunda Aile Sıra No değerine denk gelmeyen kayıtları
seçmeyecektir. (Aile tablonuzda çocuksuz Istanbullu dostlarınız,
Çocuklar tablosunda da Istanbullu ailelere mensup olmayan çocuklar
bulunmasını sağlayın, ki BSS’in gerçekten işleyip işlemediğini
sınayabilelim.) Şimdi sorgu tasarım penceresinde Şehir sütununda
Ölçüt satırına “Istanbul” yazın. Sorgu sonucu oluşacak yeni tablomuzda
iki ayrı Aile Sıra No sütununa gerek olmadığı için Çocuklar tablosundan
alınacak Aile Sıra No sütununun Görüntüle satırındaki işareti
kaldırabiliriz; fakat BSS’in tablonun ilişki bağından nasıl yararlandığını
görmek için şimdilik bu işareti kaldırmayın. Özetle, Access 2000 BSS
sihirbazının tasarımına sadece Şehir alanında Ölçüt olarak “Istanbul”
kelimesini eklemiş olduk. Bu sırada Access 2000’in araç buçuğunda
ünlem işareti şeklinde bir simge belirdiğini görüyor musunuz? “Çalıştır”
isimli bu araç, Access 2000’e “Bu sorguyu icra et ve sorduğum sorunun
cevabını bana tablo alarak göster!” komutunun kısayoludur. Şimdi bu
simgeyi tıklayalım.
İşte sorumuzun cevabı: Aile listemizde yer alan Şehir alanındaki değer
“Istanbul” olan ve Çocuklar tablosunda kendilerine ait çocuk bulunan
dostlarımızın listesi! Access ile çalışma becerinizi arttırdıkça, her
çocuğu mensup oldukları aile ile aynı satıra “Çocuk 1,” “Çocuk 2” ...
şeklinde yeni sütunlar halinde sıralamayı da sağlayabilirsiniz.
Bu sorgunun verdiği sonuçları doğru bulmuyorsanız, tekrar tasarım
görünümüne dönebilirsiniz. Bunun için Access 2000 araç çubuğunda
tasarım görünümü simgesini tıklayın. Sorgunun tasarımında istediğiniz
değişikleri yaptıktan sonra Çalıştır simgesini tıklayabilirsiniz. Sorgunun
istediğiniz sonucu verdiğini gördükten sonra kapatmaya kalktığınızda
Access 2000 sorguyu veritabanı dosyasının içinde kaydededecektir.
Bir BSS tasarlamaya çalıştığınız sırada seçtiğiniz tablolar ilişkili değilse,
Access 2000 sizi uyarır ve bu ilişkiyi kurmadan devam etmek istemez.
Sorgu tasarımı sırasında seçtiğiniz tablolar arasındaki ilişki çizgisini
silerek sorguyu çalıştırırsanız, anlamlı olmayan sonuçlar alırsınız.
65
Access ile tabir yerinde ise bu kadar uğraşmanızın bir sonucu olması
gerekir. Bu sonuca “Rapor” denir. İlk veritabanı işlem programı
tasarlandığında adı “Tablo ve Rapor Uygulaması” idi; rapor ilk günden
beri veri-iişlemin ayrılmaz parçası olagelmiştir. Access 2000 de bu
geleneğin dışında değildir: şu ana kadar farketmiş olduğunuz güçlü
veri-işlem araçlarının aynı etkinlikle bu verilerin rapor haline
getirilmesinde de kullanıldığını göreceğiz. Access 2000, raporlarını
tablo ve sorgulardan elde eder, ya otomatik olarak, ya da sizin
talimatınızla biçimlendirir ve veritabanının bir nesnesi olarak veritabanı
dosyasının içinde kaydeder. Bu raporları Ofis 2000 ailesinin diğer
üyeleri olan Excel ve Word ile paylaşabilirsiniz.
Access 2000’nin veritabanı penceresinde tablolar, formlar ve sorgular
gibi raporların da ayrı bir nesne grubu halinde toplandığını, “Tasarım
görünümünde rapqor oluştur” ve “Sihirbazı kullanarak rapor oluştur”
şeklinde iki kısayol bulunduğunu göreceksiniz. Raporlar nesne grubunu
seçtiğinizde veritabanı penceresinin Yeni düğmesi, bu iki kısayola ek
olarak, dört ayrı rapor sihirbazını daha kullanma imkanı sağlar.
Bunların arasındaki iki otomatik rapor aracı belki de en sık
kullanacağınız rapor elde etme yöntemi olabilir. Bu iki yöntemde
Access 2000 sizin işaret edeceğiniz tablo veya sorgudan elde edeceği
raporu kendisi biçimler. Diğer sihirbazlar ve tasarım görünümde rapor
oluşturma yöntemlerinde ise raporunuza siz şekil verirsiniz.
Rapor, ana hatlarıyla tanımlarsak, bir tablo veya sorgunun alanlarının,
alan adları ile birlikte kağıt üzerinde yerleştirilmesi demektir. Şimdi
OtoRapor ve kendi tasarlayacağımız raporları ayrıntılı ele alalım.
Burada gördüğünüz “Otomatik Rapor: Sütunlu” ve “Otomatik Rapor:
Sekmeli” sihirbazları, OtoRapor tekniğini kullanırlar. OtoRapor yoluyla
her iki yöntemde de sadece bir tablonun veya sorgunun içeriğini
baskıya hazır hale getirirebilirsiniz. Bununla birlikte ortaya çıkacak
rapor farklı olur.
Sekmeli OtoRapor: her kaydı bir sıraya koyar; her alan sağa doğru
sütunlar halinde dizilir. Alan adları, sütun başlığı olarak kullanılır ve
çoğu zaman bütün adların kağıda sığması amacıyla kısaltılır. Sütun
genişlikleri, bütün veriyi sığdıracak şekilde ayarlanır. Sütunlu
OtoRapor: her kayıt sayfa üzerinde bir grup oluşturur; alan adları
solda, alan içerikleri sağda iki sütun halinde dizilir. Bir kaydın alan
sayısı ve içerikleri bir sayfaya yakın yer tutuyorsa, Access 2000 ikinci
kaydı yeni bir sayfada başlatabilir.
66
Ne zaman hangi OtoRapor’un kullanılabileceğine ilişkin bir kural
koymak zordur. Bazı veri türlerinde ve tablo yapılarında sütunlu,
diğerlerinde sekmeli raporun işe yaradığını göreceksiniz. Genel bir ilke
olarak, çok kayıt, çok alan ve alanlarda kısa veriler bulunan tabloların
Sekmeli; az kayıt, az alan fakat alanlarda uzun bilgiler bulunan
tabloların ise sütunlu biçime daha elverişli olduğunu söyleyebiliriz.
Tablonuza hangi otomatik raporun uygun düştüğünü sınayarak
bulabilirsiniz.
Access 2000 OtoRaporları, Windows’un varsayılan yazıcısıni ve
yazıcının o andaki kağıt boyutu ayarlarını dikkate alarak biçimlendirir.
Kimi raporlar açısından kağıdın dikey veya yatay olması önem
taşıyabilir. OtoRaporu yeniden oluşturmak ve yazıcıya göndermeden
önce Access 2000 içinden yazıcı ayarlarını değiştirmek mümkündür.
Ayrıca Access 2000, raporunuzun birden fazla sayfaya bölünmesi
halinde sütunların önce yatay sonra dikey, veya önce dikey sonra
yatay yazdırılması gibi ince ayarlara da imkan verir. Üçüncü bölümde
sorguları ele alırken, bir tablonun farklı alanlarını birleştirerek Adres
Listesi adlı bir tablo oluşturmuştuk. Şimdi bu tabloyu iki yöntemle
otomatik rapor haline getirelim ve farkını görelim. Bunun için
veritabanı penceresinde nesnelerden Raporlar’ı ve araç çubuğundan
Yeni simgesini tıklayın.
Burada, üstte “Otomatik Rapor: Sütunlu” seçeneğini seçtikten sonra
veri kaynağı kutusunun seçme okunu tıklayarak, veritabanında mevcut
bütün tablo ve sorguları gösteren listeden, Adres Listesi tablosunu
seçin. İkinci bölümde Adres Defteri veritabanını oluşturmadıysanız
veya üçüncü bölümdeki sorgu alıştırmasını yapmadıysanız, içinde iki
alanlı tablo bulunan herhangi bir veritabanını kullanabilirsiniz. Tamam’ı
tıkladığımızda, Access 2000, tablodaki verileri kullanarak otomatik
tablomuzu baskı önizleme penceresi halinde görütüleyecektir.
Üçüncü bölümdeki sorgu alıştırmasını yaparken sorgunun oluşturduğu
yeni tabloda, alan adı olarak “Deyim1” ve “Deyim2” kelimelerinin
seçildiğine dikkat etmiştik. Şimdi bu adların yeni raporumuzda
kullanıldığını görüyorsunuz. Bu adları raporu tasarımın görümünde
açarak düzeltebilirdik. Fakat geç kalmış değiliz; OtoRapor da, bütün
otomatikliğine rağmen, düzenlenebilir niteliktedir. Buna sonra
döneceğiz. Raporu incelemeye devam edersek, her bir kaydın bir “rup”
oluşturduğunu görüyoruz. Alan adları birinci sütunda. alan değerleri
ikinci sütunda ve bütün alanlar bir grup oluşturacak şekilde altalta
dizilmiş bulunuyorlar. Bu arada Araç çubuğuna da dikkat edin. Access
2000, raporu yazdırmak amacıyla hazırladığınızı düşünerek, size baskı
önizleme penceresini açmış bulunuyor. Dalıyısıyla araç çubuğunda
67
tasarım görünümüne geçmek gerekli simgenin yanında Yazıcı
simgesini, raporu ekranda çeşitli büyüklüklerde ve sayfa sayısında
görmenizi sağlayacak denetim simgilerini ve bu raporun sözgelimi
Office 2000 ailesinin diğer üyelerinden Microsoft Word kelime işlem
programı ile paylaşmayı sağlayacak Ofis Bağlantıları simgesini
göreceksiniz. İlk raporunuzu kağıt üzerinde görmek için yazıcı
simgesini tıklayabilirsiniz. Bir Access 2000 raporunun Word 2000’de
nasıl göründüğünü ve nasıl düzenlenebildiğini Ofis Bağlantıları
simgesini tıklayarak inceleyebilirsiniz. Hatta otomatik raporun
otomatikliğine müdahale ederek, tasırım işini bu noktadan itibaren
devralabilirsiniz. Ama buna sonra geleceğiz; şimdi bir de Sekmeli
OtoRapor’u görelim. İki raporu yanyana inceleyebilmek için şimdilik
Access 2000’in otomatik olarak küçülttüğü veritabanı penceresini eski
önceki boyutuna getirelim, ve bu kez sekmeli OtoRapor aracını
kullanalım.
Veritabanı penceresinde halâ Raporlar nesnesi seçili olmalı; Yeni
simgesini tıklayın ve “Otomatik Rapor: Sekmeli” yöntemini
işaretleyerek ve Adres Listesi tablosunu (veya biraz önce kullandığınız
tabloyu) seçerek, Tamam’ı tıklayın. Bu kez Access 2000, alan adlarını
sütunlar haline getirecek ve her bir kayıt raporda bir satır olacaktır.
Her iki raporda da Tablo adının sayfanın başlığı olarak kullanıldığına,
sayfanın altında ise günün tarihi ve sayfa numarasının yer aldığını
görüyorsunuz. Bu raporda da tablodaki alan adları sütun başlığı olarak
kullanılıyor. Bu noktada verimize hangi rapor biçiminin daha uygun
düştüğünü de kararlaştırabiliriz. Buradaki örnekte, kişilerin adları ile
adreslerinin aynı satırda gösterildiği Sekmeli yöntemle yaptığımız rapor
daha kullanışlı bir liste görünümü veriyor. Fakat bir kaydın bütün
alanlarının böyle düzgün biçimde sekmelerle ayrılması mümkün
olmayabilir. Burada sadece iki alan var ve alanların içerikleri oldukça
az. Alan içerikleri uzun olsaydı sayısı arttıkça sütunlu biçim veriye daha
uygun olabilir, her bir kaldı kendi grubu içinde topluca görmek daha
kullanışlı olabilirdi.
OtoRapor güçlü bir araç olmakla birlikte, tablo halinde uygun
göründüğü halde belge haline dönüşünce uygun olmayan sayfa veya
sütun başlıkları kullanabilir. Veritabanını tasarlayan kişi olarak
“Deyim1” bizim için anlam ifade edebilir; fakat raporu sunduğumuz kişi
açısında burada, söz gelimi “Müşterinin Adı ve Soyadı” şeklinde bir
sütun başlığı bulunması daha uygun düşebilir. OtoRaporun tasarımına
nasıl müdahale edebileceğimizi ikinci raporda görelim.Baskı önizleme
penceresinin araç çubuğunda, Tasarım görünümü simgesini tıklayın;
Access 2000 raporun tasarım penceresini açacaktır.
68
Araç kutusu ve tasarım kılavuzu ile bu görünüm, form oluşturduğumuz
pencereye çok benziyor! Access 2000’in tasarım araç kutusu, form ve
rapor tasarımlarında aynı işlevi yapar. (Formların da yazdırılabildiğini
hatırlayın!) İki tasarım görünümünün arasındaki başlıca fark, form
tasarımında her formda tekrar eden “sayfa üst bilgisi” ve “sayfa alt
bilgisi” bölümleri ancak siz isteyince oluşturulduğu halde, raporlarda bu
iki bölüm varsayılın unsur olarak yer alır. Bizim şu anda yapmak
istediğimiz, “Deyim1” şeklindeki sütun başlığını “Adı Soyadı,” “Deyim2”
şeklindeki sütün başlığını ise “Adresi” olarak olarak değiştirmekten
ibaret. Bunun için, tasarım penceresinde Sayfa Üstbilgisi bölümünde
“Deyim1” kelimesini Mouse işaretçisi ile tarayın ve yerine “Adı Soyadı”
yazın. Raporun mevcut unsurlarından birinin, örneğin “Deyim1”
kelimesinin bulunduğu kutuyu tıkladığınınızda kutunun çevresinde
seçildiğini gösteren tutamak işaretlerinin belirdiğini ve Mouse
işaretçisini bunlardan sol üst köşede diğerlerinden büyükçe olanının
üstüne götürdüğünüzde işaretçinin el şekline girdiğine dikkat edin.
Bu, kutuyu tutarak istediğiniz yere taşıyabileceğinizi gösterir. Daha
sonra “Deayim2” kelimesinin yerine de “Adresi” kelimesini yazın. Bu
arada raporun Ayrıntı bölümünde tablodan alınan Deyim1 ve Deyim2
alanlarının yer aldığına, sayfanın altındaki günün tarihinin “Now()”
deyimi ile, “Sayfa 1/1” yazısının ise “="Sayfa " & [Page] & " / " &
[Pages]” deyimi ile elde edildiğine dikkat edin. “Now()”, “[Page]” ve
“[Pages]” deyimleri, Access 2000’in tanıdığı VBA (Visual Basic for
Applications, Uygulamalar için Visual Basic) dilinden alınma kodlardır.
Sütun başlıklarını değiştirme işlemini tamamladıktan sonra, araç
çubuğunda baskı önizleme simgesini tıklayın; raporun basılınca alacağı
biçimi yeniden göreceksiniz; fakat bu kez sütun başlıkları daha anlamlı
hale gelmiş olacak.
Access 2000’in OtoRapor yeteneği ne kadar güçlü görünse de, rapor
oluşturma konusunda asıl marifetinin sihirbazlar eliyle
oluşturabileceğiniz etiket ve grafik raporlarında ortaya çıktığını
göreceksiniz. Bu yeteneği yakından görmek için örnek olarak tebrik
kartlarımızın zarfına yapıştırmak üzere adres etiketleri oluşturalım.
Etiket Satınalmadan önce
Access 2000, piyasada rahatça bulabileceğiniz adres, dosya, gönderme
ve isim etiketlerinin çoğunu tanır ve verinizi bu etiketlere göre
biçimlendirebilir. Access ile etiket oluşturmaya başlamadan önce bu tür
malzemelerin satıldığı bir mağazadan ihtiyacınıza uygun ne tür
etiketler bulunduğunu öğrenin. Etiketleri satın almadan önce
bulabildiğiniz mark ve modelin Access tarafından tanınan etiketler
69
arasında bulunup bulunmadığını kontrol etmelisiniz. Bunun için
herhangi bir veritabanı dosyasını açın ve Etiket Sihirbazını çalıştırarak,
imalatçı adını ve ürün numaralarını kontrol edin. Access 2000, 12
kadar imalatçının bine varan etiket modelini tanıyabilir.
Elinizde Access 2000 tarafından “tanınmayan” etiket stoku varsa ve
bunları kullanmak zorunda iseniz, Etiket Sihirbazı’nın ikinci adımında
Özelleştir düğmesini tıklayarak kendi etiket boyutlarınıza uygun bir
şablon oluşturabilirsiniz.
Etiket sihirbazı, Raporlar penceresindeki Yeni simgesi tıklanarak ve
açılacak kutuda Etiket Sihibarbazı satırı seçilerek çağrılır. Bu pencerede
kendinize bir de tablo seçmeniz gerekir. Etiket sihirbazının aslında bir
sorgu aracı olduğunu görebilmek için, bu kez “kolay” bir veri tablosu
değil fakat etiketin üzerindeki bilgileri bir çok alandan toplayacağımız
nisbeten karmaşık bir veri tablosu seçelim. Örneğin, Aile tablosu, bu
amaçla kullanılabilir. Bu alıştırmayı yapmadıysanız, çok alanlı, fakat
alan içeriklei kısa bir tablo seçebilirsiniz. Tabloyu seçtikten sonra İleri
düğmesini tıkladığınızda, Sihirbaz etiket türü seçmenizi isteyecektir.
Elinizde gerçekten yazıcınıza uygun etiket varsa ve bu etiket Access
2000 tarafından tanınıyorsa, önce İmalatçı bölümünde etiket
yapımcısının adını, sonra yukarıdaki listeden etiketlerinizin ürün
numarasını seçin; etiketlerinizin gerçekten yaptığınız seçime uygun
boyutlarda olup olmadığını seçtiğiniz ürünün karşısındaki boyut
ölçülerini etiket kutusunun üzerindeki ölçülerle karşılaştırabilirsiniz.
Üçüncü adımda etiketin görünümüyle ilgili seçim yapmaya başlıyoruz;
önce etiketimizde kullanıcak yazı tipini seçmemiz gerekiyor.
Beğendiğiniz bir yazı tipini, etiketinize uygun punto ölçüsünü, yazı
özelliğini (kalın, italik, altçizgili), ve rengini seçin.
Dördüncü adımda işin zevkli tarafı başlıyor: etiketin içeriğini
oluşturuyoruz. Seçtiğimiz tabloda mevcut alanları, alan listesinde
göreceksiniz. Önce “Adı” alanını seçin ve ortadaki sağa ok simgeli
düğmeyi tıklayın; sonra klavyede aralık tuşuna bir kere basın ve solda
“Soyadı” alanını seçip, ortadaki oklu simgeyi tıklayın. Şimdi klavyede
Enter tuşuna basın; ekrandaki etiket öröneğinde imlecin aşağı satıra
indiğini göreceksiniz. Alan listesinde Adres1’i seçin ve oku tıklayın;
tekrar klavyede Enter’a basın. İmleç bir aşağı satıra inince, alan
listesinde Adres2’yi seçin; oklu simgeyi tıklayın; Enter’a basın. Ve
imleç dördüncü satırda iken sağda Şehir alanını seçin ve oklu simgeyi
tıklayın. Etiket inşası bitti!
70
İleri’yi tıklayarak, beşinci adıma geçebilirsiniz. Bu adımda etiketlerin
nasıl sıralanacağını belirleyeceğiz. Özellikle postaya vermek üzere zarf
ve paket üzerine yapıştırılacak veya bir toplantıda katılımcıların
gögüslerine takacakları isim etiketlerini hazırladığınız zaman bu önem
taşıyabilir.
Son’u tıkladığınızda raporunuz basılmaya hazır şekliyle karşınıza
gelecektir.
Access 2000’in etkiketleri hangi sıraya göre basmasını istiyorsanız, bu
alanın adını işaretleyin ve ortadaki oku tıklayın. Diyelim ki bir
konferansa katılacak kişilere isim etiketleri hazırlıyorsunuz;
katılımcıların kayıt sırasında isim etiketlerini önce soyadlarına, sonra da
adlarına göre sıraya sokarak dağıtımı kolaylaştırmak istiyorsunuz. Önce
Soyadı, sonra da Adı alanlarını ve oklu simgeyi tıkladığınızda Access
2000 etiketleri yazıcıya önce soyadı alanının içeriğine göre sıralayacak,
sonra da bunları kendi içlerinde adlara göre sıraya koyacaktır. Bu
surette oluşturduğunuz bir etiketi tasarım görünümünde açarak,
biçimini değiştirebilir, arzu ediyorsanız bütün etiketlerde aynı konumda
basılacak bir grafik resim de yerleştirebilirsiniz. Bunun için tasarım
görümünü açtığınızda belirecek araç kutusundan Resim aracını
seçmeniz ve etikette resmin almasını istediğiniz yeri tıklamanız
yeterlidir. Resim aracı, disk veya disketlerinizde aradığınız grafik
dosyasını bulmanıza yardımcı olacaktır. Access 2000’in rapor
sihirbazlarından grafik sihirbazı ise bir tablodan en az iki, en fazla altı
alandaki verileri alarak, raporlarınıza Excel türü istatistiksel grafikler
koymanıza yardımcı olur.
Access 2000’ın OtoRapor sihirbazlarının bir eksiği, bir tablonun verisi
ile rapor hazırlamalarıdır. Gerçi çok acele rapora ihtiyacınız olduğunda
önce farklı tabloları bir sorgu ile birleştirip, OtoRapor sihirbazına bu
sorguyu kaynak olarak kullanmasını bildirebilirsiniz, fakat öyle anlar
olabilir ki çok kaynaktan çok veri kullanarak raporlar hazırlamanız
gerekir. Access’in Rapor Sihirbazı bu gibi durumlarda istediğiniz kadar
tablodan istediğiniz kadar alanı bir raporda birleştirmenizi
sağlayacaktır.
Çok tablolu rapor hazırlamak için de veritabanı penceresinde
nesnelerden Raporları ve araç çubuğundan Yeni simgesini tıklamanız
gerekir. Açılacak sihirbaz, daha önceki rapor sihirbazlarına benzemekle
birlikte farkı ikinci pencerede göreceksiniz. Birinci pencerede raporda
kullanacağınız veri tablosunu seçmeniz gereken kutuy boş bırakarak,
İleri düğmesini tıklayın.
71
Bu sihirbaz, daha önce benzerini ileri düzeyde tablo, form ve sorgu
oluştururken gördüğümüz türden, birden fazla tablodan alan
seçmenize imkan verir. Şimdi Tablolar Sorgular hanesinde, Aile
tablosunu seçelim (bu tabloyu içeren Adres Defteri veritabanını
yapmadıysanız, herhangi bir veritabanından herhangi bir tabloyu
seçebilirsiniz). Kullanılabilir alanlar kutusunda bu tablonun alanları
belirmiş olmalı. “Adı,” “Soyadı” ve “Eşinin Adı” alanlarını, sağdaki Seçili
Alanlar kutusuna aktarın. Sonra, Tablolar-Sorgular kutusunda Çocuklar
tablosunu seçin ve bu tablonun alanlarından Adı’nı Seçili Alanlar’a
aktarın. Bu sihirbaz istediğiniz kadar tablodan istediğiniz kadar alanı
rapora almanıza imkan verir. Şimdi İleri düğmesini tıklayın. Bu kez
Sihirbaz, raporu nasıl görüntelemek istetediğinizi soruyor.
Birden fazla tablodan alan seçtiğinizde bu alanların birbirine ile ilişkili
olması gerekir. Aksi taktirde Access, hangi alanın verilerinin hangi
alana göre yerleştirileceğini bilemez. Bu pencerede, her ne kadar
bozuk bir Türkçe ile de olsa, Access 2000 verilerin seçtiğiniz
tablolardan hangisine göre sıralanacağını sormaktadır. Bizim
örneğimizde Aile tablosundan aldığımız bilgiler esas, Çocuklar
tablosundan aldığımız bilgiler Aile’ye göre anlam taşıdığı için,
verilerimizin Aile tablosuna göre sıralanması gerekir. Nitekim, böyle bir
sıralamada, Aile tablosunun bilgilerinin üst grupta, Çocuklar tablosunun
bilgilerinin alt grupta toplanacağını sağdaki örnek düzenlemede
görüyoruz. İleri düğmesini tıkladığımızda, Access 2000 bu kez verileri
bir alana göre gruplamak isteyip istemediğimizi soracaktır. Buradaki
örnekte aileleri soyadlarına göre gruplayabiliriz. Fakat iş dünyasındaki
örneklerde firmalarla ilgili bilgilerin firma adına göre gruplanması, veya
bir firmanın satınalma raporunda bütün bilgilerin satınalınan malın
envanter numarasına göre gruplanması mümkündür. Böylece bir
bakışta hangi tür malı hangi firmalardan aldığımızı görebiliriz. Buradaki
örnekte, Aile tablosundan alınan Soyadı alanına göre gruplama talep
edebiliriz.
Bu durumda kayıtlarımız ailenin soyadına göre, kişinin adı, eşinin adı
ve çocuklarının adları şeklinde öbeklere bölünecek demektir. İleri
düğmesini tıkladığımızda verilerimizin ayrıntı bölümünün (örneğimizde
bu bölümde sadece çocuk adları var; fakat çok daha fazla bilgi
bulunabilirdi) hangi alanlara göre sıralanması istediğimizi belirlediğimiz
pencereye geliyoruz. Bu örnekte çocuk adlarına göre sıralamanın fazla
bir anlamı olmadığı için İleri’yi tıklayabiliriz. Fakat başka örneklerde
kayıtların da kendi içlerinde sıralanması uygun olabilir.
Şimdi raporun sayfa düzeni ile ilgili penceredeyiz. Sayfada yer alacak
unsurların yerleşim düzenini belirlediğiniz Yerleştir bölümündeki farklı
72
seçenekleri tıklayarak, raporun biçiminin nasıl değiştiğine dikkat edin.
Raporun kağıda dikey veya yatay basılmasını da buradaki yönlendirme
seçeneği ile sağlarız. Kimi zaman bir “öbek” veri (bir soyadındaki kişi,
eş ve çocuk adları; bir firmanın o firmaya ait bütün alanları, vs.) aynı
sayfaya sığmayabilir. Bu durumda Access 2000’i bütün alanları aynı
sayfaya sığdırmak üzere biraz fazla çaba harcamaya sevkedebilirsiniz.
Eğer bu sayfanızı çok sıkışık bir görünüme zorlarsa, daha sonra bundan
vaz geçmeniz ve raporun tasarımını yeniden yaparak, bir alan
grubunun bittiği yere sayfa sonu komutu koymanız mümkündür. Bizim
örneğimizde “Anahat 1” adlı yerleşim düzeni daha uygun olacaktır. Bu
seçeneği ve İleri düğmesini tıklayalım.
Access 2000 şimdi raporun nihai görünümü için bizden bir stil
seçmemizi istiyor. Access bize kullanılmaya hazır altı ayrı rapor stili
sunan. Bunların adını seçtiğinizde raporunuzun yaklaşık nasıl
görüneceğini soldaki örnek kutusunda görebilirsiniz. Bu pencerede arzu
ettiğiniz bir stili seçip, İleri’yi tıklayın. Ve son ekranda raporunuza bir
isim verdikten sonra, sihirbaza ya tasarım, ya da baskı önizleme
penceresini açmasını bildireceksiniz; önizlemeyi seçerek, Son’u
tıklayın.
Raporun görünümünü belki beğenmemiş olabilirsiniz, ama adres
defterinizdeki isimlerin soyadına göre tasnif edilmesi ve isimlerin,
eşlerin ve çocukların adlarının bir öbek halinde toplanmış olmasını
etkileyici bulacağınıza kuşkum yok. Sayfa düzeninin beğenmediğimiz
taraflarını tasarım görünümünde anında düzeltebiliriz. Buradaki
örnekte, alan adlarında Türkçe karakter kullanmaktan kaçındığımız için
olan ve şimdi hata gibi görünen (“Soyadi” gibi) ögeleri düzeltebiliriz;
ayrıca soyadı değerlerinin diğer isimlerle soldan hizalanmasını
sağlayabiliriz. Örneğin, isimlerin etrafındaki çerçeveleri kaldırmak hiç
de fena olmaz! Böyle bir raporun her sayfasında basılmasını istediğimiz
firma logosu gibi grafik unsurları da tasarım görünümünde sayfamıza
yerleştirebiliriz. Ayrıca raporlarımızda, yeni renkli yazıcıların
imkanlarından yararlanmak üzere fotoğraf, renkli metin yazıları ve
başlıklar kullanabilir; ayrıca belirli alanların arka planına renkli zeminler
koyabiliriz. Access 2000’in rapor tasarım araçları masaüstü yayıncılığa
taş çıkartacak imkanlara sahiptir.
Access 2000’in rapor tasarım araçlarını keşif faaliyetiniz sırasında,
raporların herhangi bir yerinde (örneğin sayfa altbilgisi alanında)
dosyanın ve bulunduğu dizinin adını nasıl yazdırabileceğinizi de
araştırın. Çoğu raporda bu bilgi, sizi veya başkasını saatlerce
aramadan kurtarır!
73
Bu Internet çağında, herkesin bir Web sayfası edindiğin günümüzde
Access 2000’in bundan mahrum olacağını düşünmüyordunuz,
herhalde! Bütün Ofis 2000 programları gibi, Internet, Access 2000’in
de “göbek adı!” Bu kitapçığın kapsamı dışında kalan diğer bir çok bazı
özelliği ve Access Projesi denen dosya türüyle oluşturabileceğinin
veritabanı sunucu (MS SQL Server) bağlantısı sayesinde Access 2000,
sadece kendi oluşturduğu veritabanlarını değil, fakat çok daha büyük
dosyalar için son kullanıcı görevi yapabilir. Biz burada Access 2000 ile
kendi verilerinizi Internet’e veya Intranet’e açma imkanından söz
edeceğiz. Başka bir deyişle, Web Sayfaları’ndan.
Access 2000 öncesi, Internet’te veri-bağlantılı sayfa yapmak zordu.
Access 2000 ile bütünleştirilmiş olan bazı ActiveX araçları, veri
dosyalarını Internet’e açmayı oldukça kolay hale getiriyor. ActiveX,
Microsoft’un OLE teknolojisinin gelişmişi, Java applet benzeri bir
teknolojidir ve Access 2000 kullanıcısının, verileri Internet sayfalarında
kullanılır hale getirirken bu ve benzeri teknolojilerin nasıl işlediğini
bilmesi de gerekmez. Ne var ki Access 2000 ile oluşturacağınız veribağlantılı sayfaların işleyebilmesi için ActiveX teknolojisinin ziyaretçinin
kullanacağı Web Browser programı tarafından sağlanması gerekir.
Bunu sağlayan browser ise yine Microsoft’un Internet Explorer 5.0
programıdır. IE5’in Access 2000’in veri sayfalarını gerektiği gibi
yorumlayabilmesi için de çalıştığı işletim sisteminde Winsock32 denen
sistemin bulunması, başka bir deyişle Windows sisteminin 95, 98, NT 4
veya 2000 olması gerekir. Access 2000 verilerinizin Internet’te başka
işletim sistemleri ve başka browser sahibi ziyaretçiler tarafından da
görülmesini istiyorsanız. yine eski usul ODBC tekniklerinden
yararlanmak zorundasınız.
Access veri tablolarının tasarımından söz ederken, yeni bir veri türü
olarak Access 2000’in köprü (hyperlink, Internet bağlantı adresi) kabul
ettiğini söylemiştik. Bu, Access 2000’in Internet ile ilgili becerilerinin
sadece biridir. Access’in gerçek Internet marifeti ise veri tablolarını
Internet sayfası haline getirmesidir. Access tablolarınızı Internet’e
açmak için HTML dilini bilmeniz ve Web sayfası tasarımına aşina
olmanız da gerekmez. Access verileriniz Internet’e iki tazrda açılabilir:
Duragan: Access 2000 tablosunun olduğu gibi HTML diline
çevrilmesidir. Bir bakıma Access tablosunun fotoğrafının çekilmesi ve
bu fotoğrafın Internet’te yayınlanması anlamına gelir. Kendi
sistemininizde kalan gerçek Access 2000 tablosu daha sonra
güncelleştirilir, veriler değiştirilir veya yeni alanlar eklenirse, bu
değişiklikler Internet’e açılmış olan veri sayfasına yansımaz. Bunu
herhangi bir tablo açıkken Dosya menüsünden Ver maddesini seçerek
74
ve açılacak diyalog kutusunda kayıt türü hanesinde HTML Belgeleri
seçeneğini seçerek yapabilirsiniz. Ortaya çıkan HTML belgesinde Access
tablosunun görüntülenen alanları ve içlerindeki değerler, bir HTML
tablosu olarak yer alır.
Orta çıkan belge tablonun adını taşır ve artık Access 2000 ile hiç bir
ilgisi kalmamış demektir. Bu belgeyi Access 2000 tablosuna uygun
şekilde güncelleştirebilmek için Access’ten yeniden Ver işlemi yapmanız
ve bu belgeyi yeniden kaydetmeniz gerekir. Access 2000 ile
oluşturduğunuz ve veri içeren bir HTML belgesini Internet sitenize
yerleştirdiyseniz, eskisini yeni belgeyle değiştirmeniz gerekir. HTML
tablo oluşturma işini ne kadar kolaylaştırmış da olsanız, elle
yapacağınız bu işlem, biraz sonra göreceğimiz işleme göre durağan
sayılır.
Dinamik: Basit HTML belgesi oluşturmak yerine, Veri Erişim Sayfası
Sihirbazı’nı kullanarak, Internet’e başkalarının sizin verilerinize
erişmesini sağlayan bir HTML sayfası koyabilirsiniz. Böyle bir sayfa
yapmak, Access 2000 açısından duragan veri sayfası yapmak kadar
kolaydır; fakat Internet sitesinin bulunduğu Web Server, veritabanı
dosyası ve Access arasında işbirliğini sağlamak Internet’in nasıl
işlediğine ilişkin bilgiler gerektirebilir. Bu yolla oluşturacağınız
sayfaların Internet’e konulması ve Internet ziyaretçilerine açılması
işine sonra döneceğiz; şimdi işin Access 2000 içinde yapılacak
bölümünü ele alalım. Internet veya bir firmanın dahilî Intranet’inde
yayınlanacak verilerin bulunduğu veritabanını açın ve Veritabanı
penceresinde nesneler listesinden Sayfalar’ı tıklayın. Access, tasarım
görünümünde ve sihirbazı kullanarak veri sayfası oluşturma
kısayollarının yanında, daha önce oluşturduğunuz (yani “zaten
varolan”) bir veri erişim sayfasının açılmasını önerecektir. Sihirbaz
seçeneğini tıklayın; sorgu, form ve rapor oluşturma sırasında iyice
aşina olduğumuz sihirbazın birinci penceresi açılsın.
Bu pencere bize veri erişim sayfamıza birden çok tablo veya sorgudan
alan seçebileceğimizi gösteriyor (Neden?). Üstteki Tablolar/Sorgular
listesinden Aile tablosunu, altındaki alanlar listesinden Ad, Soyad,
Eşinin Adı alanlarını; sonra tekrar üstteki listeden Çocuklar tablosunu
ve alan listesinden Adı’nı sağdaki Seçili Alanlar listesine aktaralım.
İleri’yi tıkladığımızda gelen pencereye de yabancı değiliz. Gruplandırma
yapabilmek için bizden alan seçmemizi isteyen bu pencere Aile
tablosundan Soyadı alanını seçelim; pencerenin sağdaki örnek
bölümünde HTML sayfasının kaba bir tasarımını göreceksiniz. Tekrar
İleri’yi tıklayalım. Üçüncü pencerede de Ayrıntılar bölümünün
sıralanmasını arzu edip etmediğimiz sorulacaktır. Örnek tablomuzda
buna ihtiyaç yok, ama siz başka bir veri tablosunu kullanıyorsanız ve
kayıtlarınızın kendi içinde sıralanmasının uygun olacağını
75
düşünüyorsanız, bunu dört seviyeli olarak yapabilirsiniz (İl, İlçe,
Mahalle, Bayiin Adı, gibi). İleriyi tıkladığınızda bu kez Access, ortaya
çıkacak HTML dosyasının adını isteyecek, Son’u tıkladığınızda sayfanın
tasarımın görünümünde mi, yoksa browser’da görüleceği gibi
görünmesini mi arzu ettiğinizi soracak, ve bir de sayfanızda bir “motif”
uygulanıp uygulanmaması konusunda karar vermenizi isteyecektir.
Sayfa motifi veya ana tema Web tasarımcılığında bir sitenin bütün
sayfaları arasında görsel birlik kurmakta kullanılan bir tekniktir. Access
2000, Office 2000 ailesi programların (ve başlıca FrontPage 2000’in)
kullandığı temaları oluşturacağınız Veri Erişim Sayfalarına
uygulamanıza yardımcı olabilir. Bunun için buradaki motif kutusunu
işaretlemeniz yeter. Motif kutusunu işaretlediğiniz taktirde, Access
2000, Office 2000 programlarının ortak tema diyalog kutusunu
açacaktır.
Bu kutuda sol tarafta 24 (ekleme yaparsanız daha çok) tema adını
içeren bir liste göreceksiniz. Sağda ise seçtiğiniz temaya göre veri
erişim sayfasında uygulanacak biçimi inceleyebilirsiniz. Burada
“Çubuklar” adlı temanın seçildiğini görüyoruz. Son’u tıkladığımızda ise
diğer sihirbazlardan farklı olarak karşımıza bir Web sayfası tasarımı
yapmaya elverişli bütün araçların ve denetimlerin bulunduğu tasarım
görünümü gelecektir. Telaşa gerek yok: Burada yapacağınız tek şey,
sayfaya bir başlık vermekten ibarettir. “Başlık yazmak için burayı
tıklayınız” yazısını tıklayarak sayfanıza kendi başlığınızı yazabilirsiniz.
Bu görünümde yapabileceğiniz bir başka değişiklik ise sayfanın
veritabanı ile “canlı” ilişkisini kuran Sihirbaz’ın (Wizard) bazı
kontrollere kendi adının kısatlmasını yazması dolayısıyla bu ifadeleri
Türkçeleştirmek olabilir.
Burada görülen araçlar ve denetimlerin kullanımı büyük ölçüde HTML
bilgisi gerektirir. Özellikle veritabanı ile sayfanızdaki veri
görüntülenecek kutular arasındaki ilişkiyi sağlayan Recordset ActiveX
nesneleriyle ilgili ve Access 2000 tarafından XML diliyle yazılan kodların
değiştirilmesi Web sayfası ile ona hayat veren, verileri canlı tutan
ilişkiyi kesebilir. Burada yaptığımız örneğin Access 2000 içinde Web
sayfası olarak görünüşü ile aynı sayfanın Internet’te Web browser ile
ulaşıldığı andaki görüntüsünü görüyorsunuz:
Bilgisayarınızdaki veri tabanı bu örnekte olduğu gibi Web Server’a bağlı
ise, kendi sabit diskitinizdeki Access dosyasında yapacağınız herhangi
bir değişiklik o sırada sayfanızı Internet’te izleyen ziyaretçilerin
ekranına yansıtılacaktır.
76
Access 2000 ile giriş düzeyinde yapılabilecek işlerin bir kısmını görmüş
olduk. Daha doğrusu, Access’in imkan ve yeteneklerinin şöyle bir
üstünü açtık. Geride daha çok şey var. Formları daha albenili
yapmaktan tutun, başka veritabanı programları ile bilgi alışverişine,
hesap ve işlev yapan sorgulardan, SQL Server veritabanlarını işlemeye
kadar.. Ama her büyük yolculuk bir ilk adımla başlar. Bu kitapçıkla,
Access 2000 dünyasına ilk adımı atmış oluyorsunuz.
77
Download