Eer bana bilgisayar kullanmn hakl gsterecek tek bir ey ey
derseniz, hemen Veritaban derim. Veri-ilem. Ve ister telefon
defterinizi oluturun, ister firmanzn demirba envanterini tutun, Microsoft Access, her trl veritaban ihtiyacnz karlayacaktr ve daha fazlasn verecektir. Eskiden, PCye, IBM-uyumlu bilgisayar dendii yllarda, i dnyasnda satnalma grevlileri arasnda yaygn bir sz vard: IBMden ama, kovulmazsn! Eer kullanmn iyi bildiiniz iin her an i bulabileceiniz bir program varsa o da Access olmal. Artk kime kelime-ilem program kullanabiliyor diye kimseyi ie almyor. Oysa Access, gerek bir ok ilemi otomasyona balayabildii, brakn otomasyonu program-iinde-program yazmaya elverili oluu ve amzn arac Internet iin gerekli ODBC uyumlu veritabanlarn oluturabilmesi sayesinde, bilgiilem alannda yeni bir gelecek vaad ediyor. Veritabanlarnn en nemli zellii ve onlar bir kelime ilem programyla yapabileceiniz listelerden farkl klan n nemli zellii bir veritabannda yer alan farkl tablolarn birbiri ile ilikilendirilmesidir. Bundan nceki srmlerinde Access, her bir tablonun kendi iinde dzenlenmesine izin verirdi; oysa artk ilikilendirilm tablolarn tmn birarada sanki tek tablo imi gibi dzenlemeniz (edit) ve gncelletirmeniz mmkn. Access 2000 ile almak daha kolay: Metin kutularnz ve dier kontrolleriniz (dmeler, grafikler, yollar) gruplanabilir ve bylece tek tek deil toplu olarak dzenlenebilir. artl biimlendirme yoluyla, verilerinizi belirli art karlyor ve karlamyorsa, dikkat ekici biimlere sokabilirsiniz. Access bugne kadar sadece kendi dosyalar iin bir kullanm aracyd. Artk deil: Access 2000 ile SQL uyumlu btn veritabanlarna eriebilir, bu verilerle Acces dosyalar ile neler yapabiliyorsanz, yapabilirsiniz. Dardan SQL-uyumlu veri satnalan firmalar, artk bir de bu verileri kullanabilmek iin gerekli programlar satn almak zorunda deiller. Ve Access ile oluturacanz verilerle hazrlayacanz raporlar artk bilgisayarnda Access kurulu olmayan kiilere de rahata verebilirsiniz; Access 2000 Snapshots, bu biimi (.snp) destekleyen btn iletim sistemlerinde ve programlarda grlebilir, baslabilir ve kullanlabilir. Access 2000 ile veri-ileme dnyasna yeni bir kavram geliyor: Veri eriim sayfalar. Bu, Internette grdnz trden bir Web sayfas ve Microsoft Acces veritaban dosyasnda veya bir Microsoft SQL Server veritabannda yeralan verilerin grlmesini, bu verilere ek yaplmasn, deitirtilmesini veya baka bir surette ilenmesini mmkn klyor. Bir 1 baka deyile, Accessi kullanarak bir veri taban oluturun, veya Access ile eriebildiiniz bir SQL Server dosyasn aln ve bu verilere dayanan bir veri eriim sayfas hazrlayn. Sonra bunu ister Internette koyun, ister firmanzn dahili Internetine (Intranet). Bu sayfaya ulaan herkes, verdiiniz yetki erevesinde sayfann veri ektii veritabanndaki bilgileri alabilir, deitirebilir, ekleyebilir. (u noktada, veri-ynlendirmeli Internet Uygulamas tasarm ve gelitirme ii iin vereceiniz 5 bin Dolar tasarruf etmi bulunuyorsunuz!) Access 2000i kurduunuz zaman gerekli unsurlardan ve aralardan hemen hepsi kurulmakla birlikte, Acces ile hazrlayacanz formlarda kullanabileceiniz temalardan baz, sk kullanlmayan baz sihirbazlar, Microsoftun armaan Adres Defteri uygulamas, sadan sola yazlan dil destei, Grsel Tasarm Aralar denen zellikle veri eriim sayfas yapmakta kullanabileceiniz programcklar, tarayc ve kamera destei, Visual Basic yardm destei ve Windowsun yeni makro dili olmaya balayan Windows Scriptingi oluturmanz ve kullanmasn salayacak Editr, kurulmayacaktr. Bu aralar ve programlar ancak ilk kez ihtiyacnz olduunda yklenir. Bu arada veritabanlarnzda takvim destei iin gerekli dosyalar, denklem editr, uluslararas destek dosyalar, Lotus destei, Microsoft Photo Editor, (ve mehuur Northwind proje dosyalar) siz istemedike kurulmayacaktr. Bu destek dosyalarna ihtiyacnz olup olmadna siz karar vereceksiniz. Ama bu daha sonra. Bundan nceki Office 2000 ailesi programlarla ilgili kitapklarda belirttiimiz gibi, Access dnyasna Access 2000 ile adm atyorsanz, bu kitapkla Accessi derhal kullanmaya balayacaksnz. Access zaten kullandnz bir program ise bu kitapk size sadece yeni Access aralarn tantma asndan yararl olabilir. Fakat, kimbilir, bugne kadar el yordamyla yaptnz bir ok eye yeni bir anlam kazandrabiliriz! Bu kitapn dzenlenmesinde, programn ilevsel zelliine uygun bir ders kitab ve daha sonra bavurulabilecek kk bir hatrlatma kayna salama ilkesini gttm. Ama Access, bu hacimde bir kitapla sadece tantlabilir. Dier Office programlarnn ehresini tanyorsanz, Access 2000in men ve ara ubuklar size hi de farkl grnmeyecektir. Sadece Access dosyalarnn veri-taban dosyas olmasnn sonucu farkl bir ka men maddesi grebilirsiniz. Buna karlk programn alma alan dier programlardan olduka farkldr. Access 2000, btn Windows 95/98 programlar gibi eikli yollarla balatlabilir. Masastnde Access simgesi varsa, bu simgeyi iki kere tklayarak program aabileceiniz gibi, Balat mensnden Programlar ve 2 alacak listede Microsoft Accessi seebilirsiniz. Office 2000, Balat mensne Yeni Ofis Belgesi ve Ofis Belgesi A maddelerini de koyar. Bu maddeleri kullanarak Ofis ailesine ait herhangi bir program altrabilirsiniz. Tabi, Accessin oluturduu (uzatmas .mdb olan) herhangi bir dosyay iki kere tklayarak da Accessi balatmanz mmkndr. Access de btn Windows programlar gibi kendi penceresinde alr ve bu pencereyi istediiniz gibi btbelir, kltebilir, simge durumuna getirebilir veya tm ekran kaplatabilirsiniz. Access penceresinde kullanacamz unsurlar yle sralayabiliriz: Men ubuu: Access 2000in btn kontrol unsurlar, komutlar ve diyalog kutular menlerden alr. Btn Office 2000 programlar gibi Accessin menleri de sizin kullanm tarznza gre biimlenir. Men maddelierini tkladnzda alan listelerde nce en sk kullanlan maddeler yer alr. Bir men aldnda herhangi bir seim yapmaz ve bir saniye beklerseniz, listenin uzadn ve daha seyrek kullanlan maddelerin de grntlendiini greceksiniz. Eer beklemek istemiyorsanz, Mouse iaretisini doruca listenin, ortasnda ucu aa bakan bir ok bulunan alt kenarna srkleyin; liste derhal uzayacaktr. Ilk alan maddeler yerine daha sonra alan maddeler arasnda seim yaparsanz, Access 2000 bu tercihinizi renecek bir dahaki sefere bu maddeyi ilk alan listeye koyacaktr. Sk kullandnz maddeler ise listede yukar doru terfi ederler. Men ubuunda yer almasn istediiniz bir komut varsa, bu komutu ayr bir men unsuru olarak olarak veya mevcut menlerden birine madde olarak ekleyebilirsiniz. Aralar mensnden zelletir maddesini ve alacak kutuda Komutlar sekmesini sein; Komutlar blmnden men ubuunda olmasn arzu ettiiniz komutu Mouse iaretisiyle tutarak, men ubuunda arzu ettiiniz yere brakn. Bu komutun mevcut menlerden birinde yer almasn istiyorsanz, Mouse iaretisini men baln zerinde bir sre tutun, men aldnda leni komutu arzu ettiiniz sraya brakn. Menler uzun alsn istiyorsanz.. Eski usul menlere alt iseniz ve menlerinizin ilk aldnda btn maddeleri ile birlikte almasn istiyorsanz, Aralar mensnden zelletir maddesini, ve alacak kutuda Seenekler sekmesini sein: Burada, Menler nce son kullanlan gsterir maddesinin nndeki iareti kaldrn. Son kullanlan men maddelerinin yukarlarda yer almasn istiyor, fakat mennn iki aamada tamamlanmasn 3 istemiyorsanz, Ksa bir gecikmeden sonra tam menleri gster maddesinin iareti kaldrabilirsiniz Ara ubuu: Access 2000in 23 ayr ara ubuu vardr ve hepsini atnzda muhtemelen veri penceresi iin yer kalmayacaktr! Ayrca ara ubuklarndaki simgeleri deitirebilirsiniz. Szgelimi, varsaylan olarak alan Men ubuu adl ara ubuunda yer alan bir simgeyi hi kullanmadnz iin istemiyorsanz veya yeni bir komutu simge halinede ubua almak istiyorsanz, Aralar mensnden zelletir maddesini ve alacak kutuda Ara ubuklar sekmesini sein. Kutu akken, ara ubuunda istediimiz simgeyi Mouse iaretisiyle tutarak, ubuk dnda bir yere brakn. Ara ubuuna eklemek istediiniz komut varsa, zelletir kutusu akken, Komutlar sekmesini sein; Komutlar blmnden ara ubuunda olmasn arzu ettiiniz komutu Mouse iaretisiyle tutarak, ara ubuunda arzu ettiiniz yere brakn. Bu suretle eklediiniz yeni simgenin resmini deitirmek de elinizdedir. Henz oluturduunuz simge seili iken, Komutlar sekmesindeki Seimi Deitir dmesini tklayarak ve alacak menden arzu ettiiniz simgeyi seebilirsiniz: Veritaban Penceresi: Accesste atnz veritabanlar, ana pencere iinde kendi pencerelerinde, kendi menleri ve kendi komutlar ile yer alrlar. Bu pencerenin gelerini aada ele alacaz. Durum ubuu: Access, programn ilemesine, Veritabannn durumuna ve yapmak istediiniz ilere ilikin mesajlarn size penceresinin elt erevesindeki durum ubuunda bildirir. Accesse bir ey yaptrmak istiyorsanz ve Access bu komutu yerine getirmek istemiyorsa, muhtemelen sebebini Durum ubuunda belirtiyor olabilir. Bu ubuktaki bilgilerden yararlanabilirsiniz. Ois !ar"mcs: Access 2000, Men ubuundaki Yardm mensnn irin ve kullanm daha kolay temsilcisi olarak size 8 yardmc sunuyor. Yardmcy her an tklayarak soru kutusunu aabilirsiniz. Access 2000 Ofis yardmcs, dzgn bir Trke soru cmlesini anlayp, size doru cevab vereibilir. Ama bunun iin nce sizin Ofis Yardmcsnn anlad soru tarzna biraz aina olmanz gerekiyor. Klasik Windows yardm kutusu da Yardm mens vastasyla alabilir. Bu kutuda Dizin ve Ara sekmeleri bazen Ofis Yardmcsndan daha hzl sonuca ulamanz salayabilir. (Veritaban ile uramaktan ok skldnz bir an, Ofis Yardmcs sa tklayp, Oynat maddesini seebilirsiniz! Veritaban Penceresi Accessde ak her veritaban iin bir veritaban penceresi bulunur. Veritaban, yaptnz ie bal olarak bu pencerenin iinde veya dnda ayr bir pencerede grntlenebilir. Bu grnmler ou zaman 4 Veritaban penceresi iinde yaptnz tercihlere baldr. Veritaban penceresinin unsurlarn ele alalm. Veritaban penceresinin kendi men ubuu vardr; ancak bu ubuktaki unsurlarla sadece ait olduu veritabanna ilikin iler yapabilirsiniz. rnein bu ubuktaki A simgesi, veritabannn seilmi olan nesnesini (tablosunu, formunu, raporunu, sorgusunu, sayfasn, sorgusunu veya modln) aar. Tasarla maddesiyle, mevcut nesnelerden birinin tasarmn deitirebilirsiniz. Yeni maddesi ise baz sihirbazlar veya tasarm grnmnde yeni tablo ve rapor yapmn harekete geirecek maddeler ieren bir diyalog kutusu aar. Sil simgesi ise seilmi nesneyi siler. Veritaban penceresinin drt grnm belirleme simgesi ise, veritaban penceresinin iindeki nesnelerin byk veya kk simge halinde ya da ksa veya ayrntl liste olarak gsterilmesini salar. Yukardaki rnekte, ayrntsz liste grnm var. Ayrntl listede nesnenin ad, tanm, oluturma ve deitirme tarihleri ile tr gsterilir. #ilinen tablo ne olur$ Veritaban penceresindeki byk X harfi grnmndeki simge, tablo, form, rapor gibi seilmi bir nesnenin silinmesini salar. Aralar mensnde, Seenekler maddesini ve bu kutuda Dzen/Bul sekmesini tklayarak ve buradaki Onayla blmnde en azndan Belge silmeyi maddesini iaretlemezseniz, silinen nesne, silinmi olur. Bu yzlerce kiinin aylarca sren emei ile hazrlanm ve her nedense yedei bulunmayan bir tablo olabilir. ou zaman kazayla silinen nesnelerin yer ald veri tabanlarnn yedei bulunmaz! Bir onay kutusunda Evet dmesini tklamak, byle bir kaypla kar karya kalmaktan daha az zahmetli olsa gerek! Access iinde sildiiniz nesnenin geri gelmeyeceini unutmayn! Veritaban dendii zaman aklmza genellikle sadece tablolar gelir. Oysa veritaban, en azndan veriler arasnda seme yapmay salayan sorgu (query) aralar da iermelidir. Yoksa veritabannn bir kelime ilemciyle oluturacanz listeden fark olamaz. Access 2000 veritaban dendiinde bir ok nesneyi birden anlar. Bu nesneler, birarada, veritabann olukurular. Bir veritabannda bulunabilecek nesneleri ilerde ele alacaz. Fakat imdilik veritabann tablolar demeti olarak dnn. Access tablosu, sizin tayin ettiiniz sayda stun ve yine sizin bilgi girdiiniz miktarda satrdan oluur. Accesste veritablosu yapmay da ilerde ele alacaz. Access size tablolarmza bilgi girmek veya bu bilgileri dzenlemek iin sorgu, form, modl ve makro adnda aralar 5 sunar. Tablolar ve bu aralar kullanarak oluturacanz sorgular, formlar, modller ve makrolar, veritabanzn nesneleridir. Bir veritabannda u nesneler bulunabilir: 1. Tablolar: Verilerinizin iinde bulunduu listeler. Yeni bir veritaban dosyas oluturmak zere Access 2000i altrdnzda alan bo veritaban penceresinde, tablo oluturmak zere komut ksayolu veya ara grrsnz. Bunlar, Tasarm grnmnde tablo olutur, Sihirbaz kullanarak tablo olutur ve Veri girerek tablo olutur adn tar. 2. Sorgular: Verilerinizi tablolar halinde ortaya karttktan sonra, bu verilerden yeni semeler yapmak, belirli bir lk (kriteri) karlalayan veya karlamayanlar semek ve benzeri veri-ilemlerini sorgu (Query) aracyla yaparsnz. Access 2000, Tasarm grnmnde sorgu olutur ve Sihirbaz kullanarak sorgu olutur adl iki arala sorgu oluturmanz salar. 3. Formlar: Veri girme veya veri-ilem ilerinizi kolaylatran aralardr. Formu, veritabannzdaki bilgilere denk kutular ieren bir tr grafik arayz sayabilirsiniz. Access 2000, Tasarm grnmnde form olutur ve Sihirbaz kullanarak form olutur adl iki arala form oluturmanz salar. 4. Raporlar: Verilerinizin bir bakma ham liste halinde kurtarlp, anlaml diziler haline getirilmesine rapor kartma denir. Access 2000, Tasarm grnmnde rapor olutur ve Sihirbaz kullanarak rapor olutur adl iki arala rapor oluturmanz salar. 5. Sayfalar: Veri eriim sayfalar. Access 2000in yeniliklerinden olan sayfalar bundan byle veritaban dosyalarnzn bir paras olarak, veriye bal, vergi gncelletirildikte yenilenen Web sayfalar hazrlama imkan sunuyor. Access 2000, Tasarm grnmnde veri eriim sayfas olutur, Sihirbaz kullanarak veri eriim sayfas olutur ve Zaten varolan Web sayfasn grntle adl arala veri eriim sayfas yapmanz veya varolan sayfay yeniden dzenlemenizi salar. Makrolar, modller: Tpk kelime ilem programlarnda olduu gibi, sk sk tekrar ettiiniz ilemleri, makro ve modl haline getirebilir ve bunlar uygun olan herhangi bir tablo, form veya sorguda kullanabilirsiniz. Makro ve modlleri gelitirme ii ya otomatik olarak Access tarafndan yaplr; ya da siz Visual Basic for Applications (Uygulamalar iin Grsel Basic dili) editrn kullanarak kendiniz makro ve modl oluturabilirsiniz. %&rnmler Bir veri tablosu, Accesste eitli grnmlere sahip olabilir, veya baka bir deyile veritabannz farkl biimlerde grntleyebilirsiniz. 6 Accesste tablolarnz genellikle veritaban grnmde bulunur; bununla birlikte tablolar form grnmnde de ilenebilir, doldurulabilir, dzenlenebilir. Veritaban grmnde, bir Access tablosu ile szgelimi bir Excel tablosunun farkn ayrt etmek zordur. Bu grnmde tablonun erevesinin st kenarnda ad yazl olur; bunun hemen altnda ise tablodaki alan adlarnn bulunduu balk blm vardr. Kaytlar ise tablonun satrlar olarak sralanr. Tablonun sa ve alt kenarlarnda kaydrma ubuklar bulunur. Tablonun alt erevesinin son kesinde Gezinme Dmeleri yer alr. Bu dmeleri kullanarak tablodaki kaytlar arasnda gidip gelebilirsiniz. En soldaki dme ile en baa, en sadaki ikinci dme ile de en sona gidersiniz. zerinde yldz bulunan sadaki dme ise size yeni bir kayt girmeniz iin bo satr aar. Ayrca buradaki kutuya istediiniz kaydn sra numarasn yazarak, doruca o kayda gitmeniz mmkndr. Access 2000 kurulduu srada bilgisayarnza rnek baz veritabanlar ve hatta kullanlmaya hazr veri-ynlendirmeli iki Access-uygulamas kurar. (contacts.mdb ve addrbk.mdb) Bu rnek veritabanlarn atnzda byk bir ihtimalle, birinci stunun solunda iinde art (+) iareti olan bir stun greceksiniz. Bu, o kaydn baka tablolarla ilikilendirilmi olduunu gsterir. Access 2000le gelen bu yenilik ve kazandrd imkanlar zerinde sonra ayrntl duracaz. Access veritaban, tablo olarak grntlenebildii gibi, Form olarak da grntlenebilir. Access 2000, veri tablolarnz alarak, form biimine getirebilir veya bunu size brakabilir. Accessin otomatik oluturduu tablolar sonradan yeniden ekillendirebiliriz. Bir tablona hangi alanlar ve bu alanlarn karsnda ne deerler varsa, formda da onlar bulunur. Formlarda da gezinme dmeleri yer alr. Accessin bir dier veri grntleme biimi ise sorgulama sonucu ortaya kar. Sorgu (query) veritaban dosyasndaki tablo veya tablolardan seme yapmak demektir. Seme ilemi iin ltleri (kriterleri) u tablodan u alanlar al! diye mutlak biimde siz belirtebileceiniz gibi, u alandaki deer u ise, undan aa ise, bundan yukar ise, veya bu deilse.. eklinde mantksal olarak da tanmlayabilirsiniz. Access 2000, bu ltlere uyan kaytlar seerek bir sorgu sonucu oluturur; bu sonu veritaban dosyasna tablo olarak kaydedilebilir; veya sadece siz sorguyu altrdnz srada ortaya kar; sorgu ilemi bitince yok olur. 7 Mouse'unuzun sa "mesi Access 2000, dier Ofis 2000 programlar gibi, Mouseun sa dmesine eitli ilevler ykler. Mouseun sa dmesi, zerinde sa- tkladnz nesnenin gerektirdii bir yerel men almasn salar. Bu menler arasndaki fark grebilmek iin veritaban penceresinde farkl nesneleri sa-tklayn. Ve !ar"m Access 2000 ile altnz srada ne yapyor olursanz olun, klavyede F1 dmesine basarak, yardm dosyasn aabilirsiniz. Ofis Yardmcs ad verilen simge, o anda yapmakta olduunuz ilemle ilgili bir ka hazr yardm konusu balnn yer ald ve bunlar yeterli deilse kendi sorunuzu yazmanza imkan veren bir diyalog kutusu aacaktr. Ofis 2000 ailesi programlarnn yardm dosyalarnda yaplan yenileme sonucu artk yardm istediiniz konuyu mutlaka yardm dosyasnn ifreli ifadeleriyle yazmanz gerekmiyor. Bu kutuya normal bir soru yazabilirsiniz. Aratr dmesini tkladnzda, byk bir ihtimalle tam aradnz konuya uygun bir baln yer ald bir ka yardm konusu liste halinde karnza gelecektir. Ofis Yardmcsnn diyalog kutusundaki Seenekler dmesini tklarsanz, Yardmc iin farkl simgeler seebilirsiniz. Ofis Yardmcsnn salad hzl yardm yeterli olmad anlarda, arama ve dizinden geme gibi dier baz imkanlar olan yardm kutusunu aabilirsiniz. Bunun iin Yardm mensnden Microsoft Access Yardm maddesini semeniz gerekir. Yardm gereken konunun anahtar kelimelerinin ne olabilecei hakknda phede iseniz, bu kutuda Iindekiler sekmesini tklayarak btn yardm konularn ana balklar halinde inceleyebilirsiniz. Bu kutuda ikinci sekme olan, Cevap Sihirbaz ise Ofis Yardmcs gibi, dzgn bir Trke soruyu anlayabilir! (Kurulu Windows sisteminizin varsaylan dili Trke deilse, Ofis Asistan, soru yazmanza imkan veren kutuyu grntlemeyecektir.) Dizin ise kelime aratmak iin kullanlr. Bunu iki ayr ekilde yapabilirsiniz. nce arama yaplmasn istediiniz kelime veya kelimeleri arama kutusuna yazn. Access 2000, kendi dizininde buraya yazdnz kelimelerle ilgili grdklerini iki numaral kutuya yazacaktr. Isterseniz bu kutudaki bir kelimeyi de iaretleyebilirsiniz. Sonra Ara dmesini tklayn. Iinde yazdnz veya setiiniz kelimelerin getii yardm metinlerinin balklar nc kutuda sralanacaktr. Bu kutudaki balklardan size uygun grneni iki kere 8 tklayn; yardm metni sadaki erevede grntlenecektir. Yardm kutusunun kendi ara ubuundaki yazc simgesini tklayarak, grntlediiniz metni yazcya gnderebilirsiniz; ileri-geri simgelerini tklayarak nceki ve sonraki yardm metinleri arasnda gidip- gelebilirsiniz. imdi Access 2000in yzn tanm oldunuz. Aa yukar hangi dmenin ne yapacan biliyorsunuz. imdi sra Accesse bunlar yaptrtmaya geldi Access 2000i tandk diye hemen veri tablolar oluturmak ve onlarla sihirbazlk yapmak iin henz erken. nce veritaban planlama konusundan sz etmemiz gerekiyor. Dikkatlice planlanmam bir veritaban kullancya yarardan ok zarar getirir. Veri planlama, daha sonra verinin nerede ve nasl kullanlacana dayanr. Imkansz olmamakla birlikte ok az veritaban ilk amacnn dnda kullanlabilecek hale getirilebilir. Iyi bir planlama ise nce veritaban terimlerine aina olmay gerektirir. imdi ksaca bu terimleri ele alalm. Veri (e Alan Access 2000 ile kaydedeceiniz ve kullanacanz bilgilere veri denir. Access asndan veriler, ait olduklar alann trnde saylr. Bir alan say ieriyorsa, 123456789 saydr. Bir alan metin ieriyorsa 123456789 metindir. Access 2000de verileriniz u trlerden birine girmek zorundadr: Metin: Rakam, harf veya iaretlerden oluan ve 255 karakter geniliinde bir alandr. Metin olarak tayin edilmi bir alana yazlan rakamlar, say ilemi grmez; yani aritmetik ileme konu olamaz. Metin alanlar, belirlediiniz (nasl belirleyeceimize sonra geleceiz) geniliin stnde karakter tutamazlar. Sz gelimi bir metin alann 8 karakter boyutunda oluturduysanz, bunun iine Mustafa Durcan yazamazsnz. Iyi bir veritaban tasarm, daima gerektiinden biraz fazla geni boyut tayinini gerektirir. )ot: Metin alan olmakla birlikte, 64 bin karakter alabilir. #ay: Her trl aritmetik ileme konu olabilecek saylar tutar. *ari+,#aat: Belirlemenize gre, tarih veya saat veya her ikisini birden tutabilen zel bir alandr. Para -irimi: Trk liras, Dolar, Alman Mark, Japon Yeni ve dnyada bulunabilecek hemen hemen btn para birimlerine tayinh edilebilecek 9 zel bir alandr. Para birimi verilerinizi gireceiniz alann Currency olmas, Access 2000in bu verilerle para biriminin gerektirdii biimde hesap yapmasn salar. Otomati. #ay: Access 2000 tarafndan artan ekilde otomatik olarak doldurulan bir alandr. Bir veritabannda her bir kaydn (satrn) dierlerinden mutlaka ayrc bir nitelii olmas gerekir. Hereyiyle ayn iki kayt, otomatik say alannn farkll sayesinde birbirinden ayrlabilir. /(et,0ayr: Iindeki deer Evet veya Hayr ya da Doru veya Yanl olabilen, mantksal ilemlerde kullanlan bir alandr. O1/ )esnesi: Access 2000in veritabannda bir baka program tarafndan oluturulmu nesnelere yervermenizi salayan alan trdr. 2&3r: Internet sitelerinde bulunan sayfalarn adresi (URL), Access 2000 tarafndan balant salanacak biimde tutulabilir. Arama #i+irbaz: Bir alana dorudan vergi girmek yerine, Accessin Arama Sihirbaz yardmyla bu veriyi bir tablodan veya sorgu sonucundan semesini salayabilirsiniz. Her Rakam Say Deildir Sk kullanacanz baz bilgilerin alan trleri yle olmaldr: A"4 soya": Metin A"res: Metin 2a34 a3artman "aire no: Metin *eleon no: Metin /le.troni. a"res: Metin Ayl. 5elir4 iyat4 tutar: Para birimi !a6: Say Personel says: Say 7eb #itesi : Balant 2ayt Veritabanndaki bir birim bilgi kmesine kayt denir. rnein okuldaki derslerinizde snvlarda, devlerde aldnz notlar tutan bir veritaban tasarlyorsanz, her bir ders bir kayt olabilir. Buna karlk bir retimenin snfndaki renciler iin tuttuu veritabannda, her bir renci bir kayt olabilir. Access ile kendinize bir adres defteri yapyorsanz, her kii veya firma bir kayttr. Veri alanlarnz belirlerken, baz alanlar bo olabilir eklinde tanmlamsanz, telefon defterinizdeki her kaydn her alan dolu olmayabilir; rnein baz kiilerin faks numaras veya elektronik posta adresi olmayabilir. Buna karlk veri alanlarn belirlerken baz alanlara bo olma yasa 10 getirmiseniz, tablolarnz doldururken Access 2000 bu alana mutlaka alann niteliine uygun bir deer girmenizi art koacaktr. *ablo Tablo, (bo veya dolu) ayn alanlara sahip kaytlar kmesidir. Notlarnz tuttuunuz dosyada 1999-2000 ders yl notlarnz bir tablo oluturabilir. Bir retmen iin Lise 3 Trk Edebiyat snfndaki renciler bir tabloda toplanabilir. Fakat retmen isterse kz ve erkek rencileri ayn tablolara da alabilir. Daha sonra deineceiz, bir veritabannda ayn kiiye, ayn snfa, yani ayn birime ait kaytlarn tm tek tabloda bulunmayabilir. Bu sebeple, tablo dendii zaman, sadece birbirine benzeyen verileri olan kayt kmesi aklmza gelmelidir. Burada birbirine benzeyen tanmna dikkat edin: Diyelim ki elimizde kiilik bir bilgi kmesi var. Bu kiiye ait bilgileri, ad, soyad ve cinsiyeti diye alanda toplamaya karar verdik. Bu kiinin de bu haneye yazlacak bilgisi benzer bilgilerdir. Bilgilerin ierikli ok farkl olabilir; birinin ad Mustafa, dierinin Osman, ncsnn ise Vildan olabilir. Ilk ikisi iin tablomuyaz erkek, ncs iin kadn yazmamz gerekebilir. Fakat bu kii bir arada, bir tablo oluturabilir. Veritaban eitli tablolardan oluan ve bir Access 2000 dosyay halinde toplanan bilgi kmesine veritaban deriz. Bir veritabannn iinde birden fazla tablo bulunabilir. Bu tablolar birbiri ilikilendirilmi olabilir; ilikilendirilmemi olabilir. Bir veritabannda tablolar birbiri ile ilikilendirilmemi ise buna dz veritaban, tablolar ilikilendirilmi ise (doru bildiniz!) ilikilendirilmi veritaban denir. Eer veritaban tasarmnn bir tek pf noktas varsa, o da ilikilendirilmi tablo meselesini kavramaktr. Dz Veritaban: Bir tablonun btn alanlarna dair btn bilgiler kendi iinde ise bu tabloya dz tablo, bu dosyaya dz dosya ve bu veritabanna da dz veritaban denir. Diyelim ki elimizde, Ad, Adresi ve Telefon numaras alanlarn ieren bir tablo var. Ve diyelim ki Mustafann 1, Osmann 2, Vildann da 3 telefonu var. Bu durumda Mustafa listemize bir kere, Osman iki kere, Vildan ise kere yazlacak demektir. Dz tablolarda tekrarlar olur. Ilikilendirilmi Veritaban: Dz tablolardaki tekrar nlemek ve bylece veritabannn daha az yer tutmasn dolaysyla sorgularn daha hzl icra edilmesini salamak amacyla, tablolar ilikilendiririz. Yukardaki rnee dnersek, Osmann adn ve adresini iki, Vildann adn ve adresini kere gstermek yerine, btn kiileri bir tabloda adlar ve adresleri ile 11 toplar, bir dier tabloya ise telefon numaralarn yazan ve her bir numaray kiiler tablosunda bir kaytla ilikilendirirsek, her kisini de veritabanmz dosya olarak ok daha az yer tutar. Bunu Anahtar alan veya Birincil anahtar (Primary key) adn verdiimiz teknikle salarz. Her tabloda her bir kayd dierlerinden benzersiz hale getiren, yani dier hi bir satrda ayns bulunmayan bir alan olmaldr. Bu nitelikteki bir alan Birincil Anahtar olarak tayin edebiliriz. Ilikilendirilmi bir veritabannda, her bir kayt, bir alanndan dier bir tabloya balanr. Bu balamann kaytlarn benzersiz alanlarndan yaplmas yanl balar nleyecektir. Yine yukardaki rnee dnelim. Mustafaya 1, Osmana 2 ve Vildana 3 numaral kii diyelim; Elimizdeki btn telefon numaralarn altalta yazar (telefon numaralarn kayt yani satr olarak dnn) ve karlarna ait olduklar kiinin numarasn yazarsak, her bir telefonun kime ait olduunu kolayca buluruz. Kolayca tabi szn gelii; fakat bu durumda veri taban dosyamz ok daha az yer tutar. Mera.ls iin not: *ablolarnz )ormal Mi$ Ilikilendirilmi veritaban dosyas daha az yer tutmakla birlikte, veritaban tablolarmz ilikilendirmemizin tek sebebi bu deildir. Haziran 1970te Edgar Codd adl bilgisayar mhendisi, elektronik veri bankalarnn devasa boyutlara ulamasn fakat yine de kk bir terminalde ilenebilmesini salayan bu modeli ortaya attnda, btn veritabanlar, rnein, Ad, Soyad, Adresi, TelNo1, TelNo2, TelNo3.. eklinde fazlalk ve boluk ieren dz, birbiri ardna disket yazlm kaytlard. Codd, veri paracklarn, rnein kiino=telno eklinde ad=deer iftleri halinde yazlmasn nerdi. Bu bilgisayarn ana ilemcisinin (CPU) daha hzl hesap yapmasn salad gibi insan hatas faktrn de azaltyordu. (Ayn kiinin telefon numaras iin ayr yerdeki adresinin de dzeltilmesi yerine bunu bir yerde yapmak daha gvenli!) Coddn sistemi, verilerin tutarlln da salyordu. Veritaban dosyalarnda bilgi tutarll, bir veritabannda ad=deer eklinde btn iftlerin bir Birincil Anahtar dediimiz ada ve bu adn tabloda baka hi bir kaytta bulunmayan bir deere sahip olmas gerekir. (nk veritaban ile alrken ad=deer iftlerini baka trl tanmamz mmkn deildir. Bu disk zerine yazlrken verilerimizin sra veya yer kaygs gtmeden yazlmasn salar.) Bylece hi bir kayda ait olmayan ad=deer ifti bulunmuyor, ve hi bir kaydn eksik alan olmuyor (bo olabilir; bu eksik demek deildir.) Coddn bu buluu 12 veri-ilem alannda devrim saylr. Coddun zamanla gelitirilen modelinin be ilkesi vardr: 1. Her bir deer mstakil olmaldr (Bir kutuda telefon numaras birden bulunmamaldr). 2. Ad=deer iftleri Anahtar Deer (Birincil Anahtar) vastasyla birletirildiinde ortaya baka bir kayda benzemeyen kayt kmaldr. (Aksi taktirde Birincil Anahtar zgn demek deildir!) 3. Bir deerin hangi kayda ait olduu sadece bir Anahtar Deere (Birincil Anahtara) baklarak bilinmelidir. (Bir telefonun ait olduu kiiyi belirlemek iin hem adna, hem adresine bakmak zorunda isek, ayn adda birden fazla kii var demektir; kendimize yeni bir Birincil Anahtar bulmak zorundayz.) 4. Hi bir kayt, ayn ad iin birden fazla deer almamaldr. (Bir kiinin be ocuu varsa, 3 olu, kz olamaz!) 5. Bir tablo, artk tekrar ikiye veya daha fazla tabloya blnemeyecek kadar fazlalktan arndrlm olmaldr. Bu be ilkeye tablolarn Normalletirilme Kurallar, buna uygun hale getirilmi tablolara Normal Tablolar ve ileme de Normalizasyon denir. Basit bir adres defteri yaparken, herkese telefon, bir faks ve bir de cep telefonu hanesi amak ve baz kiiler iin baz stunlar (alanlar) bo brakmak daha kolay bir zm olabilir. Bununla birlikte daha sonra uygulama programlarna veya Web sayfalarna temel olacak veritabanlar gelitirirken, ilikilendirilmi tablolar kullanmak daha doru olur. Ilikilendirmenin ilkelerinden, ilerde tablolarlarmzda iliki kurarken sz edeceiz. *ablo *asarm Iyi bir veritaban tasarm, iyi dnlm tablo tasarm ile balar. Bu ilke uygulamada u anlama gelir: Mouse iaretisini Access simgesi zerine doru gtrmeden nce, elinize bolca kat, bir de kalem aln ve balayn tablo tasarmna. (Kadnz kareli, kaleminiz de kurunkalem olursa ve elinizin altnda bir de silgi bulunursa, tablo tasarmnzn baarl olacan imdiden garanti ederim!) nce kada bu veritaban projesinin sonunda ortaya kmasn istediiniz liste, rapor ve dier ne trl belge varsa, hepsini balklar halinde yazn. Bu kad nnze koyun ve ayr sayfalara buradaki her bir maddenin kada dkldnde nasl grnmesini istiyorsanz o ekilde grnmn izin. Istediiniz balklar, altbalklar, stunlar ve satrlar belirtin. Sonra bu sayfalarda grdnz ekillere bakarak, 13 alanlar (stun balklarn) listeleyin. rnein, kendinize bir telefon defteri-temas izelgesi hazrlyorsanz, alan tanmlarnz yle olabilir: 1. Sra no = otomatik say 2. Ad = metin, 20 karakter boyutunda, bo olamaz 3. Soyad = metin, 20 karakter boyutunda, bo olamaz 4. Adres Satr 1 = metin, 30 karakter boyutunda, bo olabilir 5. Adres Satr 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. Doum tarihi = tarih (otomatik olarak boyutlanr), bo olabilir 10. Doum gnnde kart yollayacak mym= evet/hayr, bo olabilir 10. Einin 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 biiminde, bo olabilir 16. I telefon no = metin, xxxx-xxx-xxxx biiminde, bo olabilir 17. Cep telefon no = metin, xxxx-xxx-xxxx biiminde, bo olabilir 18. Faks no = metin, xxxx-xxx-xxxx biiminde, bo olabilir 19. En son ne zaman grtm = tarih, bo olabilir 20. Son gncelleme tarihi = tarih, bo olamaz Alan listesini tamamladktan sonra bu alanlar, bir tabloda m toplanmal, birden fazla tabloya m blnmeli sorusuna cevap verin. Yukardaki rnekte iki noktadaki aksakl grm olmalsnz. Birinci aksaklk ocuklarla, ikinci aksaklk telefon numaralaryla ilgili. nce birinci sorunu ele alalm. Be ocuklu bir dostunuzun beinci ocuu bu listeye yazlamaz. O halde buradaki 16 alan en azndan iki tabloya blnmeli; ocuklara ilikin olan alanlar dndaki btn alanlar Aileler tablosunda toplanmal, btn ocuklar ocuklar adl tabloda yer almaldr. ocuklar tablosunun alanlar ise yle olabilir: 1. Sra no = otomatik say 2. ocuun ad = metin, 20 karakter boyutunda, bo olamaz 3. ocuun ailesi kimlii = metin, 20 karakter, bo olamaz imdi burada baka bir sorun var: ocuun aile kimlii, babasnn veya annesinin soyad olacaksa ve ayn soyad tayan iki dostumuz varsa, ocuun kime ait olduunu bilemeyiz. Aslnda bu sorun, ortaya baka bir sorun daha kartyor: diyelim ki ayn adda iki dostumuz var; ikisinin de e ve ocuk durumu ile adreslerini ve telefon numaralarna 14 ilikin elimizdeki bilgilerin ayn olduunu (mesela bu bilgiler elimizde yok ve dolayslya bu stunlar bo!) varsayalm. Bu iki kiiyi listeye benzersiz kayt olarak nasl kaydedebiliriz? Otomatik sra numarasn birincil anahtar yaparak! Her aileye ait kaydn benzersiz olmasn salayan otomatik sra numarasn aile tablosunda birincil anahtar yaparsak, daha sonra ocuk tabllosuyla iliki salayan anahtar olarak kullanabiliriz. Bunu grsel olarak ifade edelim: imdilik bu tablolarn oluturulaca zerinde durmayalm. Burada sadece kavramsal olarak ocuklarla aileleri arasnda ba kurmaya alyoruz. Aileler tablosunda Aile Sra No adl bir stun aar ve bu stunu Accesse Otomatik Say alan olarak otomatik ekilde doldurtabiliriz. Sonra, ocuklar kaydettiimiz tabloda, her ocuun ailesini, aile tablosundaki Aile Sra No bilgisini tekrar ederek belirtebiliriz. (Nasln zerinde durmuyoruz!) Diyelim ki Masum Sayan adl iki arkadamzn ikier ocuu var. 5 numaral aileye mensup Masum Sayan ile 6 numaral aile mensup Masum Sayann ocuklar da ayn Aile Sra Nosunu aldklar anda, gereksiz bilgi ieren veya bilgi kaybna yol aan bir tablo tasarmndan kurtulmu, yani Aile tablosunda ocuk 1, ocuk 2,.. ocuk x eklinde kimi ailede bo kalacak, kimi ailede yetmeyecek stunlar amam oluruz. Yukarda muhtemel alanlarmzn listesini dktmzde, iki sorunla karlatmz sylemitik. Birinci sorun ocuklarla ilgiliydi. Onu zdk. Fakat ayn durum, telefon numaralar iin de var. Birden fazla ev, i, faks veya cep telefonu olanlara ilikin tm telefon numaralarn tablomuza ileyebilmek iin mutlaka ocuk tablosunu eklediimiz gibi, veritabanmza ideal olarak drt ayr telefon numaralar tablosu (ev, i, faks ve cep telefonlar tablolar) ekleyip, bunlara da Aile Sra No stunu ap, her telefon numaras ile telefonun sahibini ilikilendirebiliriz. Bylece tablo tasarmnn kat zerindeki blm bitmi oluyor. Nihayet sra Accessi altrmaya geldi. Access'te Veritaban Olu6turma Accessi altrdktan sonra, bo bir veritaban oluturalm. Fakat bu arada Access7in bo veritaban ablolarn tanyalm. Kullandnz Accessin baka bir kullanc tarafndan ayarlar deitirilmemise, ald anda karnza ne yapmak istediinizi soran ve dosya semenizi salayan diyalog kutusu gelecektir. Bu kutuda Access Veritaban sihirbazlar, sayfalar ve projeleri maddesini iaretleyerek Tamam tklayn. 15 Accessin ayarlar deitirilerek bu kutunun almas nlenmise, karnzda tamamen bo bir Access penceresi de grebilirsiniz. Bu durumda Dosya mensnden Yeni maddesini seerek (veya klavyede Ctrl tuunu tutarak ve N tuuna basarak), bo bir veritaban oluturmanz salayacak diyalog kutusunun almasn salayabilirsiniz. Yeni diyalog kutusu aldnda Veritaban sekmesini tklayn. Accessi tasarlayan uzmanlar, eitli kullanm alanlar bulunan on ayr veritaban ablonu hazrlam bulunuyorlar. Access ile veritaban projelerinde byk bir ihtimalle bu ablonlar hemen her ihtiyacnz karlayacaktr. Accessi tanmak iin bu ablolarn teker teker hepsini seip, oluturulmasn nerdii dosyalarn oluturulmasn salayp, sonra ablon sihirbaznn her bir veritabannda ne gibi tablolar atn, bu tablolara ne gibi grevler yklediini, ne gibi alanlar oluturduunu gzlemenizde yarar var. Veritaban yapan Access sihirbazlarnn bir dier marifeti veri girme ve rapor alma ilerinde kullanacanz formlar da oluturmaktr. Bu formlar inceleyerek, ilerde kendi formlarnz tasarlamakta kullanacanz ipular edinebilirsiniz. Ayrca Access 2000, sadece tablolar, formlar ve raporlar oluturmakla kalmayacak, bu veritabann, sanki kendi bana bir program gibi, kullanmanz salayacak grafik arayz bile ina edecektir. Sihirbazlar kullanarak, tablolar doldurulmaya, formlar kullanlmaya ve raporlar baskya hazr veritabanlarn sk sk oluturacaksnz; fakat kimi zaman bu tablolarda, formlarda veya raporlarda yeni bir alan eklemek, veya var olan bir alan kaldrmak isteyebilirsiniz. Bunu yapabilmek iin, Accessin bu nesnelerini nasl oluturabileceimizi, nasl dzenleyebileceimizi veya deitirebileceimizi bilmemiz gerekir. imdi bir rnek zerinde bunu birlikte yapalm. Alan *rleri Access Sihirbazlaryla ilgili keif turunu bitirdiinizde, Yeni diyalog kutusunda Bo Access Veritaban maddesini iaretleyip Tamam tklayn. imdi, kendi veritabanmz kendimiz oluturmaya balayabiliriz. Alacak diyalog kutusunda Genel sekmesinin seili olmasna dikkat edin; ve Bo Veritaban simgesini ve Tamam tklayn; Access 2000 `in nerdii vt1.mdb adn Adres Defteri.mdb olarak (veya oluturmak zere yukarda kat-kalemle plann yaptnz veritabanna uygun bir ad vererek) deitirin; yeni veritabannz Veritaban penceresinde ilenmeye hazr bulacaksnz. Nesnelerden Tablolarn seildiini, ve tablo oluturmak iin kullanabileceiniz aracn ksayolunu gryorsunuz: 16 Bunlar, tasarm grnmnde, Sihirbaz kullanarak ve veri girerek tablo oluturmanz salayan yntemlerdir. Madem ki Access 2000 ile tabir yerinde ise sfrdan tablo oluturmaya karar verdik; o halde Tasarm grnmnde tablo olutur maddesini tklayarak, tablo oluturma penceresini an. Bu noktada yukarda tablo tasarmyla ilgili blmde kendi veritabanmz planladysanz, bu planlar nnze ekin. Bu altrmay yapmadysanz, rnek olarak ele aldmz Adres Defterini birlikte oluturabiliriz. Tasarm grnmde karnza gelen tablo biimindeki ara, tablonuzdaki alanlarn adlarn, zellikleri ve doldurulmas iin gerekli ilemleri belirteceiniz yerdir. Aile tablosunu oluturmak iin imlecinizi Alan Ad stununun birinci satrnn iine getirin ve AileSraNo yazn. Kendi veritabanz oluturuyorsanz, herhangi bir tablodan ie balayabilirsiniz; bu tablolardan birini sein ve birinci stunun adn yazn. *r.e 2ara.ter 2ullanr.en8 Access 2000, dier Ofis programlar, sadece menleri, diyalog kutular ve yarndm dosyalar bakmndan Trke olmakla kalmayp, ayn zamanda ieriinde de Unicodeu destekleyen bir programdr. Bu bakmdan tablolarnzda, formlarnzda, raporlarnzda, makrolarnzda ve hatta kullanlmaya hazr fonksiyonlarda, ierik ve balk olarak Trke karakter kullanabilirsiniz. Hemen her trl bilgi ilem rnnn Internette kullanld veya Internet malzemesi olarak deerlendirildirildii gnmzde veritabanlarna dayanan Web uygulamalar da hzla yaygn hale gelirken, hazrlayacanz Access dosyalarnn Microsoft ODBC (Open Database Connectivity) teknii ile Web Servera yklenip yklenmeyeceini hesaba katmalsnz. Access dosyalarnz, ODBC yoluyla bir Web Servera veri kayna olarak tantlacaksa, Web Server programnn ve ona evsahiplii yapan iletim sisteminin Unicode uyumlu olup olmad, sizin kullandnz Alan adlarnn doru okunup okunmamasn da belirler. Veritabannn ierii, sonu itibariyle Web sayfasnn unsurlar arasnda Browsera gnderilecek ve orada yorumlanacaktr. Bugn sadece Netscape browser programnn baz iletim ortamlarnda kullanlan srmleri Unicode okuyamaz. Bu browserlar kullanan Internet ziyaretileri, sayfanzn baz unsurlarn Trke karakterlerle gremezler. Fakat alan adlarnzdaki Trke karakterlere gnderme yapan programlar ve Scriptler, bu adlar bulamadklar taktirde, veri-ynlendirmeli Web uygulamalarnz, rnein ASP programlarnz hata mesaj verirler. 17 Veritabanlarnz ne tr Web Servera ykleyeceinizi bilmiyorsanz, alan adlarnda Trke karakter kullanmaktan kann. Yukardaki rnek planda bu stunun adnn Aile Sra No olmasn kararlatrdmz halde, burada alan adnda boluk brakmadmza dikkat etmi olmalsnz. Bu, daha sonra yazacamz veri seme komutlarnn alan adlarnda boluk istememesinden kaynaklanyor. Sonra klavyenizde sekme tuuna basarak, imlecin Veri Tr stununa gelmesini salayn ve burada beliren aa ok simgesini tklayarak (veya klavyede Alt tuunu tutarak ve aa ok tuuna basarak) veri trleri listesini an: Burada grdnz veri trlerini tanyorsunuz; bizim rneimizde birinci alanmza Access 2000in otomatik olarak sra numaras vermesini istediimiz iin burada Otomatik Say trn seiyoruz (Siz, kendi plannza uygun bir tr seebilirsiniz). Alan 9zelli.leri Tablo oluturma penceresinin st tarafnda yaptnz seime gre, pencerenin Alan zellikleri balkl alt blmndeki bilgilerin deitiine dikkat edin. Buradaki kontrollerin ou Access ile veritaban oluturma beceriniz arttka kullanlacak niteliktedir. Alan zellikleri, o alandaki bilgilerin boyut, renk veya konumu gibi niteliklerini ve gizli olmek- grnr olmak gibi davran biimlerini tanmlar. Daha sonra verilerimizi biimlendirirken bu kontrollerden yararlanacaz. Baz alanlarn baz zellikleri yoktur. rnein Alan Boyutu zellii sadece metin, say ve otomatik say alanlar iin geerlidir. imdi alan zelliklerind sk kullancaklarmz ele alalm: Metin Alanlar iin alan boyutu: 0 ile 255 karakter arasnda olmaldr. Dier alanlarn boyut snrlamas yoktur. (Varsaylan boyut: 50) #ay alanlar iin alan boyutu: Say olarak belirlediiniz alann boyutunu, Alan zellikleri blmnde Alan boyutu satrnn sandaki aa oku tklayarak, u seenekler arasndan seebilirsiniz: Byte, ondalk, tamsay, uzun tamsay, tek, ift, yineleme kimlii (Replication ID). #aylar (e Paralar"a :zunlu. 18 Veri alannz Otomatik Say ise, alan boyutu ya uzun tamsay, ya da yineleme kimlii ad verilen otomatik deer olur. Alan trnz Say ise u alan boyutlarndan birini seebilirsiniz. -yte 0dan 255e kadar tam say tutar. On"al. (.adp) dosyas olarak -10^38 -1den 10^38 -1e kadar, (.mdb) dosylas olarak -10^28 -1den 10^28 -1 `e kadar say tutar; virglden sonra 28 basamak gsterir. *amsay -32,768den 32,767e kadar kesirsiz say tutar. :zun tamsay (Varsaylan) -2,147,483,648den 2,147,483,647e kadar kesirsiz say tutar. *e. -3.402823E38den-1.401298E-45e kadar negatif, 1.401298E- 45den 3.402823E38e kaedar pozitif deer tutar; 7 basamakl ondalk blm olabilir. it -1.79769313486231E308den -4.94065645841247E-324e kadar negatif, 1.79769313486231E308den 4.94065645841247E-324e kadar pozitif say tutar; 15 basamakl ondalk blm olabilir. ;e3lication <D Kresel benzersiz tanmlayc (Globally unique identifier--GUID) eritaban dosyalarnzn kolay alp kapanmas ve veriilemin yeterince hzl yaplabilmesi iin alanlarnz tutacaklar en byk saydan daha fazsla say tutabilir ekilde tanmlamayn. Dier taraftan alannz girebileceiniz deerden kk tutarsanz, bu kez girdiiniz deerlerin fazla gielen ksmlar kesilecek, yani verileriniz tahrip olacaktr. y ve para birimi verilerinizi hazr biimlendirme ablonu ile deil de kendiniz biimlendirme ifadesi yazarak biimlendirmek isterseniz, u ayarlar yapabilirsiniz (bu ifadeleri, Alan zellikleri blmnde biim kutusuna yazacaksnz): =>?=@>>!o. Normal deerleri normal ekilde, negatif deerleri parantez iinde gsterir; bo brakldnda yerine Yok yazar. A=.=>B=.=>=.= Art ve eksi iaretini gsterir,; bo brakldnda yerine 0.0 yazar. -iim: Siz nasl girerseniz girin verinin tabloda (ve daha sonra bu tablodan yaplacak ekilde oluturulacak raporlarda ve formlarda) nasl grntleneceini belirler. Ayrca buraya yazacanz biim komutlar, girilebilecek verinin niteliini de tayin eder. (Ayrntl biim ifadeleri iin Ek 1e baknz.) %iri6 mas.esi: Veritabanza verileri girerken, nce girii kolaylatrmak, daha sonra da veri ilem srasnda verilerin istediiniz 19 biimde olmasn ve dolaysyla ilemi kolaylatrmak amaclya, veri giriini belirli bir biim kuralna balayabilirsiniz. Sz gelimi telefon numaralarnn daima (0555) 555-5555 gibi girilmesini salamak iin bir metin alanna bunu salayacak giri maskesi ad verilen komut ifadesini yazabilirsiniz. Bunun iin giri maskesi olarak (9999) 000 0000;;_ yazmanz gerekir. Fakat Access 2000, sk kullanlan, telefon numaras, Vergi dairesi ve numaras, posta kodu, sosyal sigortalar numaras, sigorta kod numaras, parola, ve eitli tarih ve saat biimlerine uygun giri maskelerini hazr veriyor. Bu hazr maskeleri bir alannzn Alan zellikleri blmne katmak iin, giri maskesi satrnn sandaki nokta simgesini tklayn; alacak Giri Maskesi Sihirbaznda arzu ettiiniz giri biimini sein. Bir bilginin tablolara veya formlara belirli bir maske ile girilmesi, mutlaka o ekilde kaydedilecei anlamna gelmez. zellikle parantez, kesme ve benzeri iaretleri kullandnz giri maskelerini veritaban dosyaya yazlrken kaydettirmeniz gerekmez; bu dosya boyutunda tasarruf salar. Daha sonra raporlarnzda veya Access dosyalarndan baka programlar iin veri ihra ederken bu iaretlerin yeniden konulmasn salayabilirsiniz. %eerli. 2ural4 5eerli. metni: Veri ilemin salkl olabilmesi iin girilen verilerin gerekten girilmesi gereken trde olmas arttr. Access, veri girilmesi srasnda girilen deerin geerliliini snayabilir ve veri gireni uyarr. Veri giriinde uyulacak kurallar Geerlik Kural kutusunda, geirli olmayan veri giriinde grntlenecek uyar metnini ise geerlik metni kutusunda belirtirsiniz. (Bu kutularn etiketini Geerlilik eklinde greceksiniz. Bu, Trke iml ilkelerine aykrdr.) Geerlik kurallar kutusuna yazabileceiniz baz ifade rnekleri unlar olabilir: CD = Girilen deer sfrdan farkl olmaldr D E=== Or <s )ull Girilen deer ya bo olmaldr, ya da 1000den byk olmaldr. 1i.e FA$$$$F Girilen deer 5 karakter boyutunda olmaldr ve "A" harfi ile balamaldr. DG HE,E,IJH An" CHE,E,IKH Girilen deer 1996 iinde olmaldr. Geerlik metni ise, geerli olmayan bir deer girildiinde, kullancnn uyarlmasnda kullanlacak metindir. Buraya yazacanz metin, kullancya doru veri biimi hakknda ksa fakat anlaml bilgi vermelidir. 20 %ere.li: Bu zelliin sanda belirecek aa oka basarak, Evet veya Hayr seebilirsiniz. Bir alan Gerekli hale getirirseniz, veri tablosunu doldururken, Access bu alann bo braklmasna izin vermez. Yukardaki planlama rneinde baz alanlarn niteliini kada dkerken yanlarna Bo braklabilir, bazlarna ise Bo braklamaz notunu koyduumuzu hatrlyor olmalsnz. Bo braklabilir alanlar iin bu kutuya Hayr (yani doldurulmas gerekli deil!), bo braklamaz alanlara ise Evet (yani doldurulmas gerekli!) kaydn koymamz gerekir. #r uzunlu. Lzni: Bo braklmasn nlediiniz, yani gerekli alanlarn boyutu sizin iin nem tayor olabilir. Doldurulmas gerekli alanlarn doru doldurulmasn salamann bir yolu, alana girilecek deerin boyunun sfr olmasn nlemektir. Yukardaki rnekte gelitirdiimiz veritabannn kullanlabilir olmas iin en azndan kiilerin ad ve soyadlarnn tabloda yeralmas gerekir; aksi taktirde ortada tablo denecek bir ey bulunmaz. Soyad olmayan kiilerin ise adlar ile yetinemeyiz. O halde bu iki alan hem gerekli yapar, hem de sfr uzunluk izni vermezsek, tablomuzu doldururken isteyerek veya kazayla bu alanlar bo brakmamz tehlikesini nlemi oluruz. #ral ?/n"e.s@: Access ile oluturduumuz veritabanlarn ilerken yapacamz ilerin banda, tablolarmzdan belirli ltlere gre semeler (sorgular) yaptrtmak gelecektir. Basit bir sorgunun hzla tamamlanabilmesi iin Accessin tablolardaki alanlar nceden endekslemesi yerinde olur. Bir alann Alan zellikleri blmnde Sral kutusunun sandaki aa oku tklarsanz, Hayr seeneinin yan sra iki ayr Evet seenei bulunduunu greceksiniz. Hayr seenei, bu alann nceden endekslenmesini nler. Bu alandaki verilerin endekslenmesini salayan dier iki seenekten birincisi, Evet (Yineleme Var), Accessin oluturaca endekste, bu deerden birden fazla olmasna imkan verir. Bizim rneimizde, kii ad ve soyadlarndan birden fazla olmas ihtimali ngrldne gre, endeksimizin tekrara izin vermesi gerekir. Bir alan, tablodaki kaytlarn benzersiz olmasn salayan Birincil Anahtar alan olarak tayin edildiyse, tekrara izin verilmemesi gerekir. Bunun iin, bu kutudaki endeksleme yaptrtan ikinci seenei, Evet (Yineleme Yok) maddesini sememiz gerekir. :nico"e #.6trma: Access 2000, Ofis 2000 ailesinin dier yeleri gibi Unicode-uyumlu, yani iinde 65 bin 536 adet harf, rakam ve iaret bulunan yaz tipi (font) sistemini destekler. Unicode uyumlu olmayan programlar ise sadece 256 karakter ieren fontlar kullanabilirler. Metin, not ve kpr (Web adres balants) trndeki verilerinizde 21 Trke karakter bulunuyorsa, alan zelliinde Unicode Sktrmann Evet olmas gerekir. Bu durumda Access, bu alandaki veriyi kaydederken her bir karakter iin gerekli alan (2 byte) ayracaktr. Bu tr alanlarnzda Trke karakter yoksa, Access dosyasnn bykl etkilenmeyecektir. Dolaysyla Trke veritaban olutururken bu deeri srekli Evet ayarnda tutmak dosya bykl bakmndan olumsuz bir etki yapmaz; sadece Trke karakterlerinizi korumu olursunuz. Alan *anmlar Tablo tasarmnda son nokta, tablolarmz bakalarnn da kullanabileceini gznnde tutarak, tanm stununa gerekli aklamalar yazmaktr. Tablolarmz bakasyla paylaacak olmasak bile, bir sre sonra alanlarmzn ne amala oluturulduunu hatrlamak zor olabilir. Buradaki gibi Ad, Soyad adn verdiimiz alanlarn ilevini hatrlamakta sorun olmayaca dnlebilir. Fakat verilerin baka tablolardan alnd durumlarda veya deerlerle ilgili uyarc notlarn gerektii durumlarda, Tanm satrlarna yazacanz bilgiler ie yarar. Tabloyu yaptysanz, tasarm grnmnde son ekli yle olmal: Arama #i+irbaz Accesste veritaban oluturmann birinci admn attk: ilk tablomuzu yaptk; alanlarn belirledik; alanlarn zelliklerini tayin ettik. Buradaki rnei uyguluyorsanz, imdi ikinci bir tablo oluturmanz gerekir. Bitmi tasarm grnmne bakarak, yukardaki bilgiler nda ikinci tabloyu siz oluturabilir misiniz? Burada dikkat edilecek tek nokta, AileSraNo adl alann ieriinin doldurulmas iin gerekli ifadeyi Arama Sihirbazna yazdrtmaktr. ocuklar tablosunun taramn grmnde ikinci alann adn yazdktan sonra Veri Tr stununda seme okunu tklayn ve alan listeden Arama Sihirbazn sein. Arama Sihirbaznn birinci dayalog kutusu, bu alana girilecek deerlerin mevcut bir tablo veya sorgu sonucundan m alnacan, yoksa bu deerleri sizin dorudan m yazacanz belirler. Buradaki rnekte, veritabanmzda ocuklar tablosunu doldururken, bu stunun yannda bir seme oku belirmesini ve bu oku tkladmzda Aileler tablosunda, Ailei Sra No alanna girilmi btn deerlerin gsterilmesini istiyoruz. Baka bir deyile bu stuna girecek bilgileri, Aileler tablosundan alacaz. O halde, Arama Sihirbaznn ilk diyalog 22 kutusunda Deerler tablo veya sorgudan alnsn maddesini iaretleyerek, Ileri dmesini tklamamz gerekir. Arama Sihirbaznn ikinci diyalog kutusu ise bir nceki tercihinize gre ya veritabannzdaki btn tablo ve sorgularn listesini ierir ve siz bu listeden veri alacanz tablo veya sorguyu seersiniz; ya da seme yapacanz veri listesini oluturmanz iin kk bir tablo oluturma arac alr. Veri seme iini bir tablo veya sorgudan yapacaksanz bu tablo veyla sorgunun adn seerek, Ileriyi tklayn. Veri seme iini kendi vereceiniz deerlerle yapacaksanz, veri seme listesi diyalog kutusunda veri seme listesinin tek stunlu olduunu greceksiniz; seiminizi daha ok stunlu bir listeden yapmak istiyorsanz nce yeni stun saysn yazn; sonra aadaki St1 atdl rnek stunun adn tklayn; arzu ettiiniz kadar stun belirecektir; imdi silecek deerleri bu stunlara ve satrlara girin ve Ileriyi tklayn. Her iki yolda da Arama Sihirbaznn nc diyalog kutusunda, ya mevcut talo ve sorgulardan setiiniz ya da kendi oluturduunuz deerli ieren alanlar kullanlabilir alan olarak sralanacak ve Sonu tkladnzda Arama Sihirbaz, tasarm penceresinin Alan zellikleri blmnde Arama sekmesindeki deerleri dolduracaktr. (Ilerde arama ve sorgu konusunda uzmanlatnzda bu deerleri siz de doldurabilirsiniz. imdilik sadece Arama sekmesinde Satr Kaynak Tr ve Satr kayna kutularna yazlan ifadeleri inceleyin ve Accessin tablolara ve tablolarn alanlarna nasl gnderme yaptna dikkat edin.) Bu suretle oluturduumuz otomatik deer seme imkann kullanmak zere ocuklar tablosunu atmzda ve yeni bir girdi iin Aile Sra No stununda bir satr tkladmzda, kutunun sa kenarnda bir seme oku belirdiini grrz. Bu oku tkladmzda ise alan listede, bu ana kadar Aile tablosunda Aile Sra No stuna girdiimiz btn deerleri grrz. Tablo tasarmn rendiimize gre, imdi tablolara veri girme, veri arama ve tablolarn Access 2000 penceresi iinde grntlenme yntemlerinden sz edebiliriz. Bir veritaban ile veri-ileme balamadan nce verileri girmemiz gerekir! Veri Dzenleme ?/"itin5@ Accesste belki de en kolay yapacanz i, tabloya veri girmek olsa gerek: yeni oluturduunuz veya nceden mevcut bir tabloyu, veritaban penceresinde an ve balayn stunlara ve satrlara gnlnzden geenleri yazmaya. Fakat bunun daha kolay yollar da 23 var. nce veri tablomuzun ekrandaki penceresinde yapabileceimiz grnm deiikliklerinden sz edelim. Veri tablosunu, adn iki kere tklayarak (Aralar mensnden Seenekler maddesini ve Grnm sekmesinde Tek tklatmada a seeneini seerek bunu deitirebilirsiniz), veya tabloyu setikten sonra Veritaban penceresinde A simgesini tklayarak aabilirsiniz. Bir tablonun adn sa tklayp, alacak menden A maddesini de seebilirsiniz. %&rnm Atnz bir veri tablosunun stun genilii, o alandaki verilerin tmn rahata okumanza engel oluyorsa, iki stun balnn ortasndaki izgiyi Mouse iaretisi ile tutarak, saa veya sola oynatarak, stun geniliini deitirebilirsiniz. Bu srada Mouse iaretisi iki tarafnda ok bulunan dikey izgi eklini alr. Ayn ekilde satrlarnzn yksekliini de satr balklarnn arasndaki izgiyi Mouse iaretisiyle tutarak, artrabilir, azaltabilirsiniz. Bir stunun geniliini deitirdiiniz zaman dier stunlarn genilikleri etkilenmez; ancak bir satrn yksekliini deitirirseniz, btn satrlarn ykseklii deimi olur. Stun geniliklerinin Access 2000 tarafndan otomatik olarak ve optimum lde ayarlanmasn salamak iin stun balnn sa snr izgisini iki kere tklayabilirsiniz. Stun genilikleri ve satr yksekliklerini, stunu ve satr seerek Biim mensndeki ilgili maddeleri seerek de yapabilirsiniz. Mouse iaretisini stun veya balnn zerine getirin ve tklayn (iareti stun balnda iken imlecin ksa ve kaln bir aa ok ekline dndn greceksiniz); imdi stun veya satr baln tklarsanz, btn stun veya satr seilmi olur. Biim mensnden Satr ykseklii veya Stun genilii maddesini seerek ve alacak diyalog kutularna gerekli deerleri girerek, ayarlar deitirebilirsiniz. Veri girmenizi ve verilenizi incelemenizi engelleyen, o srada ieriini grmeniz gerekmeyen stunlar geici olarak gizleyebilirsiniz. Stunu setikten sonra Biim mensnden Stunlar gizle maddesini seerseniz, Access 2000 bu stunlar geici olarak ortadan kaldrr. Yine Biim mensnden Stunlar gster maddesini seerek ve alacak kutuda grntlenmesini istediiniz stunlarn adnn nne iaret koyarak, yeniden grnmelerini salayabilirsiniz. Veri 5irme Her veri tablosunun son satr, yeni kayt girmeniz iin hazr saylr. Yeni bir kayt girmek iin, stun balnda bir yldz simgesi bulunan 24 son satrn herhangi bir stununa tklayarak, klavyeden verilerinizi girebilirsiniz. Ayn ii Ara buuunda Yeni Kayt simgesini tklayarak da yapabilirsiniz. Veri tablosu iinde kayttan kayda ve bir kaytta alandan alana geebilmek iin, Mouse iaretisini arzu ettiiniz kutunun iinde tklayabilirsiniz; klavyede ok tularna, veya sekme ve Enter tularna basarak imleci arzu ettiiniz yere gtrebilirsiniz; bu tularn imleci yeni alann bana m, sonuna m gtreceini Aralan mensnden Seenekleri ve orada Klavye sekmesini seerek de belirleyebilirsiniz. Ilmecin iinde bulunduu hcrenin satr balnda bir kalem simgesi belirir; bu o satrn edit edilmeye (dzenlenmeye, deitirilmeye, ek yaplmaya) hazr olduunu gsterir. Bir mcrede varolan verinin nne, arkasna, iine yeni veri yazabilirsiniz; mevcut veriyi silebilirsiniz; baka ylerde Windows panosuna kopyaladnz metin, say veya dier unsurlar Access hcrelerinize yaptrabilirsiniz. Windows Panosuna kopyalanm unsur Access 2000 veritabannda bulunmas imkan olmayan bir unsur ise Dzenr mensnde yaptrmayla ilgili maddeler etkin olmaz; klavlede Ctrl+V tuuna basmanz da bu eyi Acces veri tablosuna yaptrmaz. Bir kayd (satr) veya bir alan (stunu) silmek iin Dzen mensnden Kayt Sil ve Stun Sil maddelerini semeniz yeter. Aralar mensnder Seenekleri ve Dzen/Bul sekmesinde Onayla blmnde hangi silme ilemleri iin Access 2000in sizden onay istemesini arzu ettiinizi de belirtebilirsiniz. Kayt silme ilemi, onaylandktan sonra veritabanna kaydedilir ve bir daha geri alnamaz. Veritabanndaki bilgilerin birbiri ile tutarl olmasna bilgi tutarll (referential integrity) denir ve bunu korumak iin Access 2000 baz stunlar ve tablolar silmenize izin vermez. Aada ilikilendirme konusu ele alrken, bilgi tutarlndan sz edeceiz. Baz stunlar ve satrlar silmeye altnz zaman, ilikileri korumak isteyen ve silme ilemi dolaysyla baka kaytlar ve sorgular silmek zorunda kalan Access 2000, sizden onay isteyecektir. #ralama Veri tablosundaki kaytlar, belirli alanlar itibariyle artan veya azalan sraya sokulabilir. Sralamak istediiniz stunu sein ve Ara ubuunda artan veya azalan sralama simgesini tklayn. Bunu, Kaytlar mensnde nce Srala, sonra da Artan veya Azalan sralama maddelerini seerek de yaptrabilirsiniz. 25 Sralama ilemini sralayacanz stundaki herhangi bir satr sa tklayp,alacak menden, Artan Sralama ve Azalan Sralama maddelerini seerek de yapabilirsiniz. Artan sra, saylarda en kkten en bye, tarihlerde en eskiden en yeniye, metinlerde ise Adan Zye demektir. Azalan sra ise bunun tersidir. Accesste her bir satr bir kayt sayld iin bir stunu sraladnz zaman o satra ait dier hcrelerdeki bilgiler de sralanan stundaki hcre ile birlikte yeni yerlerine giderler; bylece bir satrn hcreleri yer deitirmemi olur. Arama (e Dei6tirme Veri tablolarnz bir deeri gzle aramanza imkan vermeyecek kadar byk olabilir. Bu durumlarda bir deeri bulmak iin Access 2000in yardmn isteyebilirsiniz. Ara ubuundaki Bul simgesini tklayarak veya Dzen mensnden Bul maddesini seerek, arama yaptrabilirsiniz. Access 2000in bir yenilii Bul ve Deitir aralarnn tek kutuda iki sekme halinde toplanmasdr. Iki sekme arasndaki grnm fark Deitir sekmesinde bulunacak deerin yerine konulacak yeni deerin girilecei kutunun bulunmasdr. -ulma ilemi ya o srada imlecin iinde bulunduu bir alanda, ya da tablonun tmnde yaplr. Bul sekmesinde Aranan kutusuna aradnz deeri yazn; aramann yaplaca yeri gsteren Bak kutusunun seme okunu tklayarak, aramann tablonun tmnde mi, yoksa imlecin bulunduu stunda m (imle bir stunda deilse, birinci stunda) yaplacan belirtin. Eletir kutusunda ise aramann yaplaca alan parasn belirtebilirsiniz. Aradnz deerin sadece alann tmn olduu durumlarn bulunmas iin bu kutuda Tm Alan; alann herhangi bir blm olduu durumlarn bulunmas iin Alann Bir Blm; ve verdiiniz deerle balayan alanlarn bulunmas iin de Alann Balangc seeneklerini semeniz gerekir. Arama kontrollerinin tmn grntleyerek arama kutusunu bytmeye yarayan Tm dmesini tklarsanz, Arama ynn belirtebileceiniz bir seme kutusu ortaya kar. Buradaki seenekleriniz, aramann imlecin bulunduu noktadan yukar veya aa ya da tm tabloda yaplmasn salar. Bul kutusu genilediinde ortaya kan dier bir kontrol unsuru ise aranan kutusuna yazdnz deerin byk harf-kk harf oluu ile bulunmasn istediiniz deerin byk hadrf-kk harf oluu arasnda iliki kurup kurmamaktr. Eer Access, sizin kullandnz harflerin byk veya kk oluuna dikkat etsin istiyorsanz, Byk Harf/Kk 26 Harf Eletir kutusuna iaret koyun. Bu durumda, rnein tas deerini arattrdnzda Tas ve TAS bulunmayacaktr. Buradaki Alanlar biimli olarak ara kontrol ise tarih/saat gibi veya para birimi gibi belirli biimlerde grntlenen alanlarn, veritabannda bulunduu basit ekliyle deil, tablo tasarm srasnda talep ettiimiz biimde ele alnarak arama yaplmasn salar. Bunu biraz aalm. Diyelim ki Tarih alanndaki deerlerimizin ksa tarih olarak biimlenmesini istiyoruz. Bu biim, Access 2000 tarafndan ancak bu veri grnlendii zaman uygulanr. Siz verileri 20-09-99 olarak girmi olabilirsiniz; ama tasarm srasnda bu alan iin uzun tarih biimini setiyseniz, Access 2000, bu veriyi 20 Eyll 1999 Pazartesi olarak biimleyerek grntleyecektir. Arama yaparken, arama deeri olarak 20-09-99 yazar ve Accessten bu deeri bulmasn isterseniz, ve Alanlar biimli olarak ara seenei seilmi olursa, aradnz deer hi bir zaman bulunamayacaktr. nk Access sizin biik talimatna uygun olarak tarihleri uzun biimde biimliyor fakat siz ksa tarih biiminde aranacak deer veriyorsunuz. Oysa bu kutu iaretlenmemi olsa idi, Access verdiiniz meru tarih biimini tablosundaki btn tarih biimleriyle karlatracak ve verdiiniz tarihi bulursa, bu kayd size gsterecekti. Alanlar biimli olarak ara seenei seilmi olarak yaplan aramalar Access 2000i olaanst yavalatr. Alann bir blm seenei ve aranan yerin tm tablo olmas da Access 2000in arama hzn drr. Dei6tirme4 bulmaya dayanan ve bulunan deerlerin sizin vereceiniz bir deerle deitirilmesi ilemidir. Deitir aracnn neleri bulabileceini, Bul aracn tanrken grdk. Burada sadece sadaki farkl kontrol dmeleri zerinde duralm. Sonrakini Bul dmesini tkladnzda Access 2000, sadece bulma ilemini yapar; hi bir ey deitirmez. Aradnz deerin doru bulunduuna ve deitirmenin verilerinize zarar vermeyeceine emin olduktan sonra Deitir dmesini tklayabilirsiniz. Bu noktada deitirme iinden vazgeerseniz, Iptal dmesini tklayn. Deitir dmesi, sadece bulunan deeri deitirmekle kalmaz, varsa, bir sonraki aranan deeri bulur. Tmn Deitir dmesi ise tek tek bulma-deitirme yerine tablonuzdaki tm aranan deerleri otomatik olarak bulur ve onay gerekmeden deitirir. Bu dmenin gerekten hzl altn greceksiniz. Ama bu dmenin bir zellii daha var ki, tklamadan nce iki kere dnmeniz yerinde olur: yaptnz deiiklikler kalc olur; geri alnmaz. 27 #zme Bul arac ile verilerde aratrma yapmak mmkn olmakla birlikte, kimi zaman belli bir lte uygun tm kaytlar birarada grmek isteyebiliriz. Bunu Sz aracyla yaparz. Szgelimi, elimizdeki veride sadece ikinci yaryl snavnda 5 alan rencilerin veya oturduu yer Tekirda olanlarn, sadece erkeklerin veya sadece kadnlarn listelenmesini isteyebiliriz. Bunu yapmann en kolay yolu Seime Gre Szme yntemidir. Szme lt olacak verinin bulunduu kaydn, ilgili alann (stununu) bulun ve Access 2000e bu stunda sadece bu deeri ieren kaytlar gstermesini, dierlerini gstermemesini bildirin. lk olarak kullanacanz verinin bulunduu stunu tklayn ve ya Ara ubuundan Seime Gre Sz simgesini tklayn, ya da veritabannda bir yeri sa-tklayp alan menden Seime Gre Sz maddesini sein. Veri tablosunun byklne ve setiiniz alann endekslenmi olup- olmamasna gre, Access 2000, seme ve sadece seilenleri grntleme iini sratle yapacaktr. Listede sadece seilen kritere uygun veri ieren kaytlar yer alrken, Ara buuundaki Szgeci Kaldr simgesi de etkin hale gelecektir. Bu simgeyi tklayarak, tablonun tmn grntletebilirsiniz. Access 2000, tablonuza uyguladnz son szme ileminin ltn unutmaz ve bu simgeyi yeniden tkladnzda son szme ilemi yeniden uygulanr. (Szgeci kaldrdnzda bu simgenin etiketi Szgeci Uygula eklinde deiir.) Bir tablonun tmn deil sadece szlm kaytlar ierdiini, tablonun alt kenarndaki (Szlm) kelimesinden anlarz. Bu kelimenin yannda ka adet szlm kayt olduu da gsterilir. Seme yoluyla szme ilemi birden fazla alan veya deer lt kullanlaarak da yaplabilir. Diyelim ki seme ilemini bir snftaki rencilerin listesinde hem cinsiyet, hem de alnan nota gre uygulamak istiyorsunuz. Bunu yapabilmek iin, uygulayacanz birden fazla lt veri deerinin tabloda yanyana stunlara gelmesini salayn. Bir stunun tmn seer ve Mouse iaretisiyle stun baln tutarak, iaretiyi dier iki stunun arasna gtrrseniz, iaretinin bulunduu aralkta koyu tonlu bir izgi olutuunu grrsnz; Mouse iaretisini burada brakrsanz, stun tmyle bu yere tanm olur. Bu suretle stunlar yanyana getirerek, arama lt olacak deerleri de birbirine komu yapm olursunuz. imdi, Mouse iaretisini lt olacak verilerin en soldakinin veya en sadakinin zerine getirin (iaret simgesinin kaln ve ii bo art iaretine dndne dikkat edin) ve Mouseun sol dmesini tutun; 28 lt olacak deerlerin sonuncusuna kadar srkleyin. lt olarak kullanacanz btn veriler seilmi olacaktr. imdi, ya sa tklayarak ve alan menden Seilenlere Gre Sz maddesini seerek, ya da Ara ubuundan ayn ad tayan simgeyi tklayarak, Access 2000e ok ltl szge uygulattrabilirsiniz. Seme yoluyla szme ilemini, altalta kaytlarn deerlerini lt alarak da yapabilirsiniz. Bunun iin, Mouse iaretisini bir satrdaki bir deerin zerine getirin ve iaret simgesi kaln ve ii bo art iaretine dndnde, Mouseun sol dmesini tutarak lt olarak kullanacanz alttaki veya stteki deerleri tarayn. Mouseun dmesini braktnzda altalta birden fazla deer seilmi olacaktr. imdi yine sa tklama veya Ara ubuunda tklama yoluyla Access 2000e Seme yoluyla szme ilemini yaptrtabilirsiniz. Kimi zaman szme iinde kullanacanz deerler byle kolay bir ekilde seme yoluyma belirtilemez ve daha ayrntl szme ltleri uygulamak isteyebilirsiniz. Bunun iin Form Szgeci yntemini kullanmanz gerekir. Bu arac, Kaytlar mensnden nce Sz ve sonra Form Szgeci maddesini seerek aabilirsiniz. Form Szgeci ald anda ak olan tablonun yerini alr. Bu yeni tabloda, solda, altta birincil lt belirteceiniz Ara, ve ikincil, ncl ltler iin bir ok Veya sekmesi greceksiniz. Szme ltn tanmlamaya Ara sekmesinden balamak gerekir. Bu sekme seili iken, tabloda sralanan alan adlarnn altndaki hcreyi tklarsanz, sada seme okunun grntlendiini greceksiniz. Bu oku tklayarak, tablonuzda bu alana girimi tm deerleri grebilirsiniz. Burada istediiniz kadar seim yapabilirsiniz. Yine renci tablosu rneine dnersek, cinsiyet stunundan Kadn, birinci yaryl snav notlar stunundan 5, ikinci yaryl snav notlar stunundan 3 deerlerini seebilirsiniz. (Bu durumda tablonuzdaki btn kadn rencilerden birinci snavda 5 ikinci snavda 3 alanlar seilmi olacaktr). Veya sekmelerini tklayarak szgecin kapsamn geniletmek mmkndr. Szgelimi, snftaki kadn rencilerden birinci yaryl snavnda 5 veya 4 veya 3 veya 2 veya 1 veya 0 alanlar semek isteyebilirsiniz. Her veya ltnden sonra Formun sol alt kenarna yeni bir Veya sekmesi eklendiine dikkat edin. Notlarnz tam say olarak deil de kesirli olarak veriyorsanz, szmenin amac zayf durumdaki rencileri belirlemek olduu halde bu son yntemde rnein 4,5 alanlar gremezsiniz. Bunu salamak iin btn not ihtimallerini kapsayan Veya ltleri doldurmak gerekir. Oysa szme ltlerini seerek deil yazarak verebilir ve 29 standart karlatrma ilemcilerini kullanarak, btn ihtimalleri kapsayabilirsiniz. Bunun iin, rnein Birinci Yaryl Snav Notlar stununun bo hcresine <=4,9 (trnaklar olmadan) yazarsanz, Access 2000 notu 5den aa btn rencileri bulacaktr. Burada dikkat edilecek nokta nce mukayese ilemcisinin, sonra deerin yazlmasdr. Access 2000, standart mukayese ilemcilerini kullanr: > Byk < Kk = Eit <= Kk veya eit >= Byk veya eit <> Eit deil ltlerinizi belirttikten sonra Ara ubuundan Szgeci Uygula simgesini tklayarak szlm kaytlarnz grebilir; iiniz bittiinde szgeci kaldr simgesini tklayarak asl tablonuza dnebilirsiniz. %eli6mi6 #zme #ralama Genellikle szme ileminden sonra szlm kaytlar ieren yeni tablonun bir alana gre sralanmas (rnein rencilerin artan veya azalan not srasna sokulmas) gerekebilir. Szlm kaytlar ieren geici tablonun herhangi bir stununu seerek sralama ilemi yaptrabilirsiniz. Fakat szme ve sralama ilemini, Kaytlar mensnden nce Sz, sonra Gelimi Szme/Sralama maddesini seerek bir kerede yaptrtabilirsiniz. Bu maddeyi setiiniz Access 2000, bu amala tasarlanm zel bir Sorgu tasarm penceresi aacaktr. Bu teknikten yararlanmay, Sorgu blmnde ele alacaz. Mormlar Accesste bir tabloya veri girmenin kestirme yolu, tabloyu ap, en alt satrdan itibaren verileri yazmaktr! dedik. Fakat yanyana yzlerce stunu bulunan bir tabloda bunu yapmak kolay olmaz. Tablonun Access penceresinin dnda kalan stunlarn grntye getirmek iin srekli kaydrma ubuunu tklamak zor olabilir. Oysa Access bize veri girme ve dzenleme iini form yoluyla yapma imkan veriyor. Form, bir tablonun bir kaydnn ieriini (veya bo bir kayt satrn) bir ok kontrolle birlikte tek pencerede toplayabilen bir aratr. Formun eni- boyu da Access penceresinden byk olabilir; fakat formun biimini belirlemek, alanlarn nerede ve lde grneceine karar vermek imkan vardr. Ayrca formun zerine veri girmeyi kolaylatran ve kaydn paras olmayan yardm ifadeleri yazabilir, grafiklerle formu 30 ssleyebilirsiniz. Formda, Sil, Kaydet ve benzeri komutlar ieren dmeler olabilir. Normal olarak formun her sayfas sadece bir kayt ierir. Dolaysyla dikkatinizi bir kayt zerinde toplayabilirsiniz. Oysa veritaban penceresindeki tablo aldnda grntye sdrabildii kadar kayd sdrr. Bu ou zaman bir kaytla ilgili inceleme yapmay zorlatrr. Form, veri girmeyi mantksal bir dzene balayabilir ve kolaylatrabilir. Otomati. Morm Access 2000, herhangi bir tabloyu annda forma evirebilir. Form konusunu kavramak iin en kestirme yol, ak veritabannda bir tabloyu ap, Accesse bu tablodan otomatik form yapmas talimatn vermektir. Bunun iin Ara ubuunda Yeni Nesne simgesini tklamaktr. Bu ara, son yaptnz ii hatrlar ve etiketinde bunu belirtir. Access 2000, ak tablodaki btn alanlar, iine bilgi yazlacak kutular haline getirir; ve bunlarn nne stun bal olan alan adlarn etiket olarak koyar. Oluturulan formda, kaytlar arasnda gezinmeyi balayacak kontroller, ve yeni kayt iin bo form edinme dmeleri vardr. Ite yukardaki tablonun otomatik form haline getirilmi grnm: Burada, bu formun balnda ait olduu tablonun adn gryorsunuz. Ayn anda birden fazla tabloya veri girii yapmakta kullandnz form varsa, balklaro anda hangi tabloya giri yaptnz gsterir. Formun kutular arasnda klavyede sekme veya Enter tularna basarak ilerleyebileceiniz gibi, Mouse iaretisini arzu ettiiniz alann iinde tklayabilirsiniz. Geride kalan bir alana gitmek iin klavyede st karakter (byk harf, Shift) tuunu tutarken, Sekme tuuna basn. Formda, otomatik say olarak belirlenmi alanlara yaz yazamazsnz; ayn ekilde Accessin deerini hesaplayarak bulduu alanlara da klavyede deer giremezsiniz. Yeni kayt iin bo form atnzda otomatik say alannn iinde (Otomatik Say) ifadesini greceksiniz. Bir formda imle son kutuda iken klavyede Enter veya sekme tuuna basarsanz veya imle herhangi bir yerde iken Mouse iaretisiyle baka bir kayda gitmek iin gezinme dmelerini veya yeni kayt simgesini tklarsanz, iinde bulunduunuz kaytta deiiklik yaptysanz bu tabloya ilenir. (Bu ilem geri alnmaz.). Bir kaydn iinde iken klavyede st karakter tuunu tutarken Entera basarak, kaytta yaptnz deiiklii tabloya kaydetebilirsiniz. Bunu Kaytlar mensnden Kayd kaydet maddesini seerek de yapabilirsiniz. 31 Bir formda grntlenen kayd silmek de mmkndr. Bunun iin ara ubuundan Kayt Sil simgesini tklayabilirsiniz. Ayn ilem Dzen mensnden Kayt Sil maddesini seerek de yaplabilir. Kayt silme ilemi geri alnmaz. Bir formda kayt silmeye altnz srada bu ilem veritabannnda bilgi tutarlla asndan baka tablolarda ve sorgularda silme gerektirecekse, Access 2000 sizden onay isteyecektir. Tablo grnmnde yapabildiiniz btn sralama ve szme ilemleri form grnmnde de yaplabilir. Formun birinci grevi veri girmeyi kolaylatrmak olduu halde, bir kayd ieren formu, yazdrabilirsiniz. Bunun iin klavyede Ctrl tuunu tutarken P tuuna basmak veya Dosya mensnden Yazdr maddesini semek yeter. Formun kat zerinde nasl grneceini Dosya mensnde Bask nizleme maddesini seerek, inceleyebilirsiniz. <B Accesste yeni bir form oluturmak iin eitli yollar vardr. Bunlardan biri, Veritaban penceresinde Nesneler listesinden Formlar tklamak ve alacak Form nesneleri penceresinde ya tasarm grnmnde ya da Sihirbaz kullanarak form oluturma yntemini semektir. Form nesneleri penceresinin ara ubuunda Yeni simgesini tklayarak daha ok seenek bulunan Yeni Form oluturma aracn aabilirsiniz. Bu seeneklerden Tasarm Grnm, seeceiniz bir tabloya dayanan ve sfrdan form oluturmanz salayacak arac altrr. Form Sihirbaz ise, sizden form iin gerekli semeleri yapmanz ister ve formu kendisi tasarlar. ayr otomatik form oluturma arac ile Grafik Sihirbaz ve Excel-vari zet tablo oluturma aracn da Yeni Form kutusunda bulacaksnz. Access 2000de tasarm grnmnde form oluturmaya balamadan nce, otomatik bir form oluturup, bunu tasarm grnmnde amak, form yapm iin daha eitici olur. Bir tablo akken otomatik form oluturun ve bu formu kapatn; Access onay istediinde yeni form olarak kaydetmesine izin verin. Sonra Veritaban penceresinde Formlar nesnesini sein ve biraz nce kaydettiiniz yeni formu seip, ara ubuundan Tasarla simgesini tklayn. Access, formu tasarm grnmnde aarken yanna bir de Ara kutusu aacaktr. Tasarm grnmndeki formun en belirgin zellii zeminin klavuz izgilerle kapl olmasdr; formda yeralacak nesnelerin klavuz izgilerine yaslanmas, nesnelerin grsel olarak dzgn ve hizal grnmesini salar. Ara kutusundaki Nesne seici (ok biiminde) ile 32 formdaki nesneleri seer, ve Mouse dmesini basl tutarak,. form zerinde yeni yere tayabilirsiniz. Denetim Sihirbaz denen iaretiyi seer ve forma yerletirdiiniz bir nesneyi ve Ara Kutusundaki bir nesne simgesini tkladktan sonra formu tklarsanz, bu nesnenin yaplandrlmasnda size yardmc olacak bir dizi diyalog kutusu alr. Sihirbaz, setiiniz denetim gesinin zelliklerini belirlemek iin sizden ve formun dayal olduu tablodan bilgiler derleyecektir. Bir formda yer alabilecek denetim geleri, Ara Kutusunda sralanm bulunuyor. Bunlar ksaca ele alalm: /ti.et Formdaki bir veri alann niteleyen balk olabilir; veya formu kullanarak veritabanna veri girecek olan kullancya yolgsteren yardm metinleri ierebilir. Metin .utusu Bu formun bal olduu tablo veya tablolara veri girme noktalardr. Metin kutusunun zellikler penceresini aarak, bu kutuya girilecek bilgilerin veritabannda hangi tabloda hangi alana kayt olarak ileneceini belirlersiniz. #eene. 5rubu Formunuzda iinden seme yapabileceiniz ve bir alana bir deer atayan seenekler ierir. Siz seeneklerden hangisini seerseniz, o seenee vermi olduunuz deer tayin ettiiniz bir alana yazlr. #eene. "mesi Genellikle kadn/erkek gibi bir seenein seilmesini salar; seenein deeri tayin ettiiniz alana yazlr. Dei6tirme "mesi Formda baslm veya baslmam dme grnmleri arasnda gider gelir ve tklandnda ierdii deeri ait olduu alana yazdrr. Onay .utusu Ierdii deeri iine iaret konduunda ait olduu alana yazdran bir denetimdir. Alan .utu Ya olutururken sizin vereceiniz sabit deerleri, ya da bir tablo veya sorgunun oluturduu deerleri ierir ve formu dolduran kii tarafndan seilen deer, ait olduu alanr yazlr. 1iste .utusu Iindeki deerleri liste halinde gsterir; kullancnn iaretledii deer ait olduu alana yazlr. 2omut "mesi Accessin kullancya sunduu herhangi bir komutu yerine getirebilecek, dme eklindeki simge. rnein bir formu kaydetmek veya silmek iin kullanlabilir. ;esim Formunuza ilevsel veya ssleme amacyla resim koymanz iin alan oluturur. Lli6.isiz O1/ )esnesi Windows OLE-uyumlu herhangi bir programn dosyasn grntlemenizi salayan pencere aar. Burada grntelenecek baka program dosyasnn veritabannzla bir ilikisi yoktur; form yoluyla bir kayttan dierine gidildiinde bu nesre deimez. 33 Lli6.ili O1/ )esnesi Windows OLE-uyumlu herhangi bir programn dosyasn grntlemenizi salayan pencere aar. Burada grntelenecek baka program dosyasnn veritabannzla ilikisi kurulmutur; bu alandaki nesne kayttan kayda gidildiinde deiir. #aya sonu Bir sayfadan fazla form oluturmak istediiniz zaman, formun kesilmesi ve yeni bir form sayfasnn balamasn salar. #e.me "enetimi Windowsun sekmeli denetim ve diyalog kutular gibi formlar yapmanz salar. Sekmenin at alana dier form gelerini yerletirebilirsiniz. Alt orm Bir form yoluyla kaytlarzda deiiklik yaparken, bal bir baka bir tablonun denetimini salayan ikinci bir form almasn salar. Bylece ayn anda bal tabloda da deiiklik yapabilirsiniz. iz5i (e "i.t&r5en Formlarnz kullanl kolayl salamak amacyla mantksal gruplara ayrmasn salayan dz izgi ve dikdrtgen izimleri salar. Yeni bir form tasarmna baladnzda, ara kutusundaki denetim aralarn formunuza yerletirmi olmanz, formda yapacanz deiikliklerin herhangi bir tabloya ilenecei anlamna gelmez. Formun kayt yapabilmesi iin denetimlerin, mutlaka bir tablonun veya sorgunun alanlarna balanmas gerekir. (Bal olmayan denetimler de olabilir. Onlara birazdan deineceiz.) Form tasarm srasnda Grnm mensnden alan listesi maddesini seerseniz, formu oluturmaya baladnz srada setiiniz tablodaki btn alanlarn listesini grebilirsiniz. Bu listedeki bir alan Mouse iaretisiyle tutarak, ina halindeki formun zerine brakarak, kolayca bal denetimler elde etmek mmkndr. Bir dier deetimle alan balama yolu ise denetimin zellikler kutusunda Denetim Kayna satrna tablo ve alan ad yazmaktr. Denetim gelerinin zellikler kutusu, denetim sa tklanarak ve alacak menden zellikler maddesi seilerek grntlenebilir. Ayrca Form tasarm penceresi akken Grnm mensnden zellikler maddesini de seebilirsiniz. zellikler kutusu, seili denetimin alabilecei btn zellikleri ierir. rnein bir metin kutusunun tam 60 ayr zellii vardr. zellikler, kutunun zerindeki sekmelerle gruplara ayrlmtr. Veri sekmesinde, denetim unsuru ile tablonun alanlar arasnda veri-ba kurmanz salayan zellikler vardr. Bu zelliklere Tm sekmesinde de ulaabilirsiniz. Veri ile balanabilecek bir denetimin zellikler kutusununda denetim kayna satrnn sanda iki seme simgesi vardr. Bunlardan aa oku tkladnzda, formu oluturmaya baladnzda, bir tablo setiyseniz o tablonun alanlarn greceksiniz. Form 34 oluturmaya balarken bir tablo semediyseniz, bu oku tkladnzda karnza bo bir satr gelir. zellikler kutusununda denetim kayna satrnn sandaki ikinci seme simgesi ise yanyana nokta eklinde deyim oluturucusu simgesidir. Bu simgeyi tkladnzda Deyim Oluturucusu diyalog kutusu alr. Bu diyalog kutusunda, stte deyim oluturmaya ayrlan bol alan ile altta yanyana ve birbirine baml pencere greceksiniz: en solda veritabannda mevcut btn tablolar, sorgular, formlar, raporlar, Accessin kullanlmaya hazr ve 16 grup halinde ayrlm (aritmetik ortalamadan, tanjant hesaplamaya, tarih evirmekten, say saymaya kadar) 188 ilevi, sabit deerler (bo, doru, yanl gibi), 20 adet matematik ve mantk ilem iaretleri (ileleri, operatrleri), ve ortak deerler (sayfa numaras, toplam sayfa says, o andaki tarih veya tarih/saat, ve o andaki kullanc ad) yer alr. Bu pencerede setiiniz grubun alt gruplar ortadakinde, ortada setiiiz alt grubun iindekiler ise en sadakinde grntlenir. Bir tablonun bir alann, denetim unsuruna veri kayna yapmak iin, en soldaki pencerede Tablolar satrn iki kere tklayn; ortada veritabannn btn tablolar listelendiinde arzu ettiiniz tabloyu iki kere tklayn. En sada tablonun btn alanlar listelenecektir. Arzu ettiiniz alan iki kere tkladnzda, alann ad, tablonun adyla birlikte, stteki Deyim oluturma alanna yazlacaktr. Tamam tkladnzda bu deyim, denetimin zellikler listesinde Denetim Kayna olarak gsterilmi olur. Bu andan sonra formunuzun bu alanna yazacanz veri, setiiniz tabloda setiiniz alana kaydedilir. Form oluturmaya balarken bir tablo semi olsanz bile, bir forma birden fazla tabloya bilgi kaydetme grevi verebilirsiniz. Bir form, veritaban iindeki btn tablolara bilgi kaydedebilir. Bylece Accesste veritaban oluturma iinin birinci aamas olan tablo tasarmn ve veri girmeyi, veriilemin ilk adm olan sralama ve szmeyi ve veritabanmzla daha kolay alma arac olan formlar tasarlamay rendik. imdi, veri-ilemin gerektirdii dier ilere geebiliriz. Bu ilerin banda tablolarmz arasnda iliki kurmak, Anahtarlar belirlemek ve endeksleri (dizinleri) oluturmak geliyor. Ister insanlar arasnda, ister tablolar arasnda olsun, iliki zor eydir; itina ve dikkat, nceden planlama ve sihirli bir anahtar ister! Insanlararas ilikide sihirli anahtar nedir sorusunu Access 2000e ayrlm bu kitapta ele alamayz. (Zaten bu konu bu kadar bir kitapn kapsamn aar.) Fakat hemen belirtebiliriz ki, Accesste baarl bir veri-ilemin sihirli anahtar Birincil Anahtardr: tablolar 35 arasndaki ilikiyi bu Anahtar ile kurarz, ve greceimiz gibi, daha bir ok kapy bu anahtarla aarz. Ikinci blmdeki altrmay yaptysanz, oluturduunuz her tablonun tasarm grnmn kapatrken, Access 2000nin bu tabloda bir Birincil Anahtar tayin edilmediini vurgulayarak sizden srarla bir alan Birincil Anahtar olarak belirleminizi istediini grm olmalsnz. Neden? nk birincil anahtar her tabloya, daha sonra bir baka tablo ile ilikilendirmek istediinizde bu ilikide zgn kiiliini verecektir. Birincil anahtar olarak belirlenen alandaki bilgilerin benzersiz olmas gerekir. Access sizi buna zorlamaz, ama birincil anahtar alanndaki bilgileriniz her kayt iin benzersiz deilse, neden birincil anahtar olarak atam olabilirsiniz? Birincil anahtar, bir kayd, bir baka tablodaki bir kaytla birletirmekte kullanacamz anahtardr. Birincil anahtarn dier ilev ve yararlarna ksaca deindikten sonra kayt birletirmedeki rolne dneceiz. Her tablonun bir, ama sadece bir, Birincil Anahtar olabilir. Access 2000, her tablonun birincil anahtarn otomatik olarak endeksler (ve bu sayede veritaban daha hzl alr). Tablonuzda siz bir alan Birincil Anahtar olarak atamadysanz, Access 2000 bir birincil anahtar alan oluturmak ister; bunu onayladnzda bir otomatik say alan aar; tablonuzda zaten birinci alanda otomatik say tr bir veri varsa, Access 2000 bu alan birincil anahtar olarak atar. Bu sebeple, iyi bir tablo tasarm ilerde kullanmayacak bile olsanz, birinci alan otomatik say olarak belirlemeyi gerektirir. Birincil anahtar, hemen hemen daima sadece bir alandan oluur. Fakat Access 2000, ancak ok pahal veritaban Server programlarnn yapabilecei bir imkana da sahiptir: veri-ilem iiniz birden fazla alandan oluan Birincil anahtar kullanmanz gerektiriyorsa, bunu yapabilirsiniz. ok-alanl Birincil Anahtar, ileri dzeyde veri-ilem ve sorgulama bilgisi gerektirir. Her veri tr birincil anahtar olamaz: birincil anahtar olarak kullanamayacanz veri trleri, Internet adres balants (kpr), OLE ve not trleridir. Buna gre, metin, say, tarih/saat, para birimi, Evet/Hayr, ve otomatik say alanlar birincil anahtar olarak kullanlabilir. Tablolarnz, birincil anahtar alanna gre otomatik olarak sralanr. (Eer bir Evet/Hayr alann birincil anahtar yapmaya kararlysanz, tablonuzda en fazla iki kayt olmas gerekir. Neden?) Birincil anahtarn tabaloda birinci alan olmas gerekmez; herhangi bir alan birincil anahtar olabilir. Fakat kendinizi tabolalarnzda birincil 36 anahtar arama zorluundan kurtarmak iin daima birinci alan birincil anahtar yapacanz veriye ayrmanz iyi bir alkanlk olur. Tablomda hangi alan birincil anahtar yapmalym? sorusu kanlmaz olarak sorulacak sorudur. Bu sorunun bir cevab olabilir: Benzersiz veri ieren alanlardan birini birincil anahtar yapn. Birincil anahtar seiminde anahtar kelime, benzersiz kelimesidir! Seeceiniz alandaki veri, her kayt iin zgn olmaldr; baka hi bir kaytta tekrar etmemelidir. Kiilerin adlarn, soyadlarn ieren alanlar zgn olamaz. renci numaralar, ara plaka numaralar da bir ka yl sonra tekrar baka renciye veya araca verilebilir. Telefon numaralar bir lke iin zgn olabilir (her blgenin kodu farkl olaca ve ayn blge kodunda benzer numara bulunmayaca iin), ama veritabannzda rnein blge kodu ayn olan Istanbul ve New York kentlerindeki dostlarnzn telefon numaralar varsa, zor bir tesadf bile olsa, ayn numara bulunabilir. Birincil anahtar alan belirlerken, tablonuzda zgn-benzersiz veri bulunan alan arayn. Btn alanlarnzdaki verilerin tekrar etmesi ihtimali varsa, yeni bir alan an ve iine otomatik say koyun.. Gerisini Access 2000 dnsn! Bir tabloda birincil anahtar alan tayini son derece kolaydr. Tabaloyu tasarm grnmnde an; birincil anahtar olarak atamak istediiniz alann adnn bulunduu kutuyu sa-tklayn ve alacak mende birinci madde olan Birincil Anahtar maddesini sein. Bu alann adnn nndeki kutuda kk bir anahtar simgesi belirecektir. Birincil anahtarn veritaban iin nemini ortaya koyacak kk bir deney yapalm ve sonra birincil anahtarn birincil grevi olan tablo ilikilendirme konusuna dnelim. Yukardaki altrmay yaptysanz ocuklar tablosunu (veya herhangi bir alan Birincil Anahtar olarak tayin edilmi bir baka tabloyu) an, ve yeni bir satrda birincil anahtar alanna mevcut deerlerden birini tekrar yazn. Iinizin bittiini belirtmek zere baka bir hcreyi tklayn; Access 2000 hemen hata mesaj verecektir: Birincil anahtar alanndaki verinin zgn olmas gerekir; yoksa bu anahtar asl grevini yapamaz. Tablolar arasnda iliki kurmak suretiyle, veritaban dosyamz dz veritaban olmaktan kurtardmz sylemitik. Tablolar aras iliki, Access 2000in daha hzl sorgu icras yapmasn salar; veri-ilem 37 ilerimiz daha verimli olur. Bu sayede verilerimizi gncelletirirken, btn tablolar elden geirmek ve hatta yeniden girmek zorunda kalmayz; sadece gncelletirilmesi gereken tabloya ek veya bu tabloda deiiklik yaparz. Bir firma dnelim: en az 200 firmadan hammadde alyor ve en az 500 bayie maml madde veriyor. Bu firmalarn adreslerinden, alnan hammadde ve verilen maml maddelerin zelliklerine kadar, diyelim ki 2 bin stun dolduran verilerimizi tek tabloda topladmz varsayalm. Byle bir tabloda, aldmz mallara ilikin bilgi stunlar, sattmz mallara ilikin satrlarda bo kalrken, sattmz mallara ilikin bilgi stunlar aldmz mallara ilikin satrlarda bo braklmak zorundadr. Bu hem gereksiz yere ikin bir veritaban dosyasna yol aar, hem de veri giriinde saysz hatalara sebep olur. A firmasndan aldmz yeni bir mala ait yeni bir kayt girerken, firmann adndan adresine, faks numarasndan posta koduna kadar btn bilgileri yeni satra tekrar yazmak zorunda kalrz. Bu, yeni yazm hatalarna davetiye kartmak demektir. Tekrar eden bu bilgilerin dosya boyutuna bindirecei yk dnn! Oysa elimizde bir firmalar tablosu, bir de mallar tablosu bulunsa; her bir maln hangi firmadan alnd veya hangi firmaya verildiini gsteren alana, firmalar tablosunun birincil anahtarndan ba kursak, hem tekrar-tekrar veri giriinin yol aaca insan hatalardan korunmu oluruz (bu bilgileri girecek operatrlere vereceiniz creti de unutmayn!), hem de ilenmesi kolay nisbeten kk veritaban dosyasna sahip oluruz. Verilerimizi tek tabloda toplamann sakncalarn anladk. Ve diyelim ki elimizde byle, be veya alt tabloya blnm bir veritaban var. imdi, son 3 ay iinde mal aldmz firmalarn bir dkmn kartmak istiyoruz. Be-alt ayr tabloyu mu kada dkeceiz? Bu ayr ayr tablolara blnm bilgileri nasl birletireceiz? Baka bir deyile, ayr tablolara bldmz verileri iare yarar, anlaml diziler haline getirmek iin nasl birletirebiliriz? Bunu, tablolar herbirinin dieri iin anlaml tek zgn alanndan, yani Birincil Anahtarlarndan birletirerek yapabiliriz. Veritabannz bu birden fazla tabloya blerek ve herbirine zgn birincil anahtar alanlar koyarak tasarlasanz bile, ayn veritaban iinde yer alyorlar diye tablolarnz kendiliklerinden iliki kurmazlar. Bunu bizim salamamz gerekir. Kendi tablolarmzda kendi ilikilerimizi oluturmadan nce, Access 2000nin bunu nasl saladn grmek, iliki konusunda bize daha iyi fikir verecektir. Bunun iin Access 2000i altrn; Yeni veritaban oluturmak zere alan pencerede Veritabanlar sekmesini sein ve Stok Ynetimi ablonunu 38 iaretleyin. Yeni bo stok ynetimi veritabannz oluturulduunda, eer Access penceresi iinde kltlm durumda ise veritaban penceresini bytn; Switchboard ad verilen veritabann kullanmanz iin oluturulan grafik arayz kapatn. Stok Ynetimi1 adl yeni stok ynetimi veritabannzn nesnelerinden Tablolar setiinizde, yedi adet asl tablo oluturulduunu greceksiniz: rnler, stok hareketleri, kategoriler, alanlar, sipari formlar, reticiler ve nakliye yntemleri. Stok ynetimi konusu ile hi ilginiz yoksa bile, sadece iliki konusunu kavramak iin, bu tablolarn bir firmann elindeki stoklar takip iin gerekli ve yeterli olduunu varsayalm. imdi, Aralar mensnden Ilikiler maddesini sein. Karnza una benzeyen bir pencere alacaktr: Alan penceredeki kutular arasndaki izgiler buradaki grntye benzemiyorsa, kutular Mouse iaretisiyle balklarndan tutarak srkleyebilir ve konumlarn buradakine benzer ekle getirebilirsiniz. Bu pencerede, kutularn balnn tablo adlarn ierdiine dikkat edin. Kutularn iindeki maddeler ise tablolardaki alanlarn adlardr. Her tablonun kutusunda bir alan adnn koyu yazldn gryor musunuz? Bu, o tablonun birincil anahtar olan alandr. Baz alanlardan kan izgilerin dier bir kutudaki alana balandn gryorsunuz. Dikkat ederseniz, aralarnda izgi bulunan alan adlarnn ayn olduunu da greceksiniz. Bu izgilere iliki denir; tablolarn birbirleri ile hangi alanlarndan ilikide olduklarn gsterir. emaya veya Access Ilikiler Penceresine tekrar bakarsanz, iliki izgilerinin bazlarnn sol ucunda 1, sa ucunda sonsuz iaretinin bulunduunu, baz ilikilerde iaretlerin yer deitirdiini ve dierlerinde ise izgilerin iaretsiz olduunu greceksiniz. Bu iaretler kurulan ban niteliini gsterir; ban nitelii ise daha sonra iki tablo arasnda yaplabilecek birletirmede hangi kaytlarn hangi kaytlarla birletirilecei veya Accessin deyimiyle eletirileceini tayin eder. Bu tanmla biraz ifreli grnyorsa da Accesste kurabileceimiz ilikilerin niteliklerini ele alnca manzara aydnla kacaktr. Tablolarnzn arasnda tr iliki olabilir: -ire bir ili6.i: Ilikilendirdiiniz iki tablodan birincisi ile ikincisi arasnda sadece bir kayt eleebilir. Bu tr ilikilendirmeyi tabalolarmzda sk kullanmadmz greceksiniz; nk genellikle byle tek gerekli tablo yapmayz. -irBo. ili6.isi: Birbirine baladmz iki tablodan birindeki bir kayt dier tabloda birden fazla kaytla eleebilir. Ikinci blmdeki rneimizi hatrlarsanz: bir ailenin birden fazla ocuu olabilir; fakat her ocuun sadece bir ailesi olabilir. Dostlarnmzn ocuklaryla 39 birlikte bir tablosunu edinmek istersek, ocuklu dostlarmzn ad yeni tabloya ayr satrda yazlacak, iki ocuklu dostlarmzn adlar iki, tek ocuklu dostlarmzn adlar ise bir kere girecektir. Neden? nk aile ba (Aile Sra No alan), ocuklar tablosunda ok kayda iaret ediyor. o.Bo. ili6.isi: Ilikilendirdiimiz tablolardan birincisinde birden fazla alan, ikincisinde birden fazla kayda (ve tabi ikincisindeki birden fazla alan birinci tablodaki birden fazla kayda) iaret ediyorsa, bu kez tablolar arasnda ok-ok ilikisi var demektir. rnek tablomuzda byle bir durum yok, ama bir sipari veritaban dnn: her bir sipari emrinde birden fazla mal sipari ediliyor olabilir; mal tablosunda ise her bir mal birden fazla sipari tablosunda grnyor olabilir. Byle bir ilikinin sonucu ortaya kacak nc tabloda hem hem her bir sipari, hem de her bir mal birden fazla satrda grnecektir. imdi bu bilgilerin nda biraz nce oluturduunuz Stok Ynetimi veritabannn ilikiler penceresine bakalm. imdi bu veritabanndaki dosyalar kullanarak, firmamzn verdii siparilerle ilgili ve siparii veren personele gre sipari miktarlarn gsteren yeni bir tablo yapabilir miyiz? Yapabiliriz. Siparii veren Personel, hangi tabloda hangi alandaki bilgi ile bulunacak? alanlar tablosundaki alanNo alanndaki veri ile. Peki, bu alandaki kaytlar, hangi tablodaki hangi alanda bulunan kaytlarla eletirilecek? Sipari formlar tablosundaki alanNo alanndaki kaytla. Yani alanlar tablosundaki alanNo alanndaki veri Ahmet alkan arkadamza ait 812 ise ve bu deer, Sipari formlar tablosundaki kaytlarda alanNo alanndaki deerlerle eleiyorsa, bu kayt yeni tablomuza alnacak; sonra srasyla dier deerler taranacak, eleenler yeni tabloya dahil edilecektir. (Yeni tablo nerede ve nasl oluacak? sorusunu imdilik sormayn; bunu Sorgu ile yapacaz; ve daha sonra ele alacaz.) alanlar tablosundaki alanNo alannda Mehmet Tembelolu arkadaz belirten 813 eklindeki veri, Sipari formlar tablosundaki kaytlarda alanNo alanndaki hi bir veri ile elemiyorsa ne olacak? Yeni tabloda 813 eklindeki alanNoyu ieren bir kayt olmayacaktr. Ve muhtemelen Mehmet Tembelolu, neden hi sipari vermediini izah etmek zorunda kalacaktr! Tablolarmz arasnda iliki oluturma iini kendimiz yapmak istersek, yine biraz nce atmz Aralar mensnden Ilikiler maddesini geerek atmz pencereyi amamz gerekir. Ikinci blmdeki Adres Defteri altrmasn yaptysanz, imdi bu veritaban dosyasn aabilirsiniz. Bu altrmay yapmad iseniz, imdi ikinci blme dnp bu dosyay oluturabilirsiniz! Veritaban aldnda veya tablolar 40 oluturma iini bitirdiinizde Aralar mensnden Ilikiler maddesini sein. Karnza una benzeyen bir grnm gelecektir: Biz kurmadmz halde iki tablomuz arasndaki bu iliki, ocuklar tablosunu olutururken, Aile Sra No alannn doldurulmas iin Aile tablosunun ayn adl alanna girilmi kaytlara baklmasn istemi olmamzdan kaynaklanyor. Burada grdnz izgiyi ortasndan sa tklayn ve alan menden Sil maddesini sein; Access silme ilemini onaylattrmak istediinde Eveti tklayn. imdi iliki oluturmaya sfrdan balayabiliriz. nce bir kere daha kurmak istediimiz ilikinin amacn tekrar edelim: yeni adres defterimizi oluturduumuz srada yle bir an olabilir ki, dostlarmzn ocuklarn gsteren, veya ocuklarn ailelerine gre sraland bir liste yapmak isteyebiliriz. Byle bir yeni tablo oluturmaya kalktmzda, Accessin hangi ocuun hangi aileye ait olduunu bilmesi gerekir. Bunu iki tabloyu ilikilendirerek veya baka bir ifadeyle Accesse, hangi ocuun hangi aileye ait olduunu nasl belirleyeceini syleyerek yapabiliriz. Accesse unu sylemek zorundayz: ocuklar tablosundaki kaytlarla Aile tablosundaki kaytlar birletirirken birinci tablonun Aile Sra No alanndaki deerin ocuk tablosundaki kaydn ayn isimli alanndaki deerle eleip elemediine dikkat et; eer bu veriler ayn ise o zaman bu ocuk o aileye ait demektir; iki kayd birletirebilirsin. Bunu sylemenin yolu ise ok kolay: Ilikiler tablosuna ait kutudaki AileSraNo satrn Mouse iaretisiyle tutup, gtrp ocuk tablosundaki AileSraNo satrnn zerine brakn. (Ilikiler penceresini atnzda tablolarna ilikin kutular gremiyorsanz, Ilikiler mensnden Tablo Gster maddesini; alacak kutuda kaytlar arasnda iliki kuracanz, dolaysyla grntlenmesini istediiniz tablolar seerek Ekle dmesini tklayn.) Srkleme srasnda Mouse iaretisinin dikdrtgen iliki simgesine dntn greceksiniz (iaretli). Mouse iaretisi brakacanz yere dikkat etmelisiniz: Access 2000, drtgeni hangi alan ad zerinde brakrsanz, o alan ilikilendirir. Mouseun sol dmesini braktnz anda Ilikileri Dzenle diyalog kutusu alacaktr. Burada solda ilikinin balad tablo ve alan ile ilikinin kurulduu tablo ve alan gsterilmektedir. Her ikisinin de seme dmelerini tklayarak baka alanlar seebilirsiniz. Bu listenin altnda, Bilgi tutarllna zorla seeneine iaret koyarsanz, Access 2000 size iki seenek daha verir: ilikinin sol tarafndaki alan gncelletirilirse, bu ilikiye dahil tablolarn da gncelletirilmesi, alan silinecek olursa dier tablodaki kaytlarn da silinmesini salayabilirsiniz. (Gncelletirme 41 kullanl bir seenek olmakla birlikte, silme ilemini otomatik hale getirmek, istemeden bilgi kaybna uramanza yol aabilir.) Ilikileri Dzenle kutusunun sa tarafndaki dmelerden Birletirme Tr dmesini tklaksanz, ilikinin yn ve trn belirleme imkann veren, seenekli Birletirme zellikleri kutusunu am olursunuz. Burada yapacanz tercihler, hangi tablodan hangi kaydn alnacan belirler. (Srasyla her seenei setiinizde, iliki izgisinin ucundaki oklarn ynnn nasl deitiine dikkat edin.) Kutular sarsayla kapattnzda, iki tabloyu ilikilendirmi, baka bir deyile Access 2000i bu tablolar kullanarak yapacanz veri-ileme hazrlam olursunuz. Bir veritabanndaki tablolar arasnda ilikileri olutuunuz zaman Access 2000, hi bir yapmayacak, sz gelimi ortaya yeni bir tablo veya rapor kartmayacaktr. Bunu yapmas iin gerekli talimat daha sonra vereceiz. imdilik sadece Accesse, bu talimat yerine getirmesi iin gerekli bilgiyi vermi, veritabanmzn tablolar arasndaki balar tantm olduk. Dizin Access 2000in veri-ilem ileri iin yapmas gereken bir dier hazrlk ise Endeks kartmaktr. Veritabanmzn tablolarn neden endekslettirmek isteriz? Daha sonra yapacamz veri-ilemleri hzl olsun diye? Access 2000n endeksi, tpk bir kitabn arkasndaki endeks gibi alr: aradnz kolay bulursunuz. Burada bulma ilemini kitap okurundan farkl olarak kullanc deil Access yapmaktadr. Access, kendi endekslerini, vereceiniz sorgu talimatlarn icra ederken, tablolar sraya sokarken, rapor olutururken ve arama yaparken kullanr. Kpr, not ve OLE nesnesi ieren alanlar dndaki tr alan trleri endekslenebilir. Sadece Birincil Anahtar olan alan deil, btn alanlar (tr uygunsa) endekslenebilir; birincil anahtar alan otomatik endekslenir. Endeks, sorgu, sralama ve aramay hzlandrr; fakat bir veri tabannda ne kadar ok alan endeksleniyorsa, Access 2000in veriilem hz o kadar azalabilir. Access 2000e tablo tasarm srasnda, endeks yaparken birden fazla benzer kayt bulunmas halinde ne yapmas gerektiini biz syleriz. Tablo tasarm penceresinde bir alan trn tkladnzda, alan tr elverili ise, pencerenin Alan zellikleri blmnde Sral satr belirir. (Access 2000, endekse yardm dosyalarnda dizin derken burada Sral demeyi tercih ediyor. Ama bu kadar kusur, kad kznda da olur!) Bu satrn iini ve sanda belirecek seme okunu tklarsanz, seeneiniz bulunduunu grrsnz: Endeks yapma! anlamna Hayr ; Endeks yap, ve 42 tekrarlara aldrma! anlamna Evet, Tekrarlama Var; ve Endeks yap ve bu arada tekrarlar yakala! anlamna Evet, Tekrarlama Yok. Bu sonuncu tercihi seerseniz, Access, endekslenmi alanlarda, tm kaytlarn benzersiz olmasna dikkat eder ve sizi uyarr. Bylece, veritabanmz birincil anahtarlar, ilikileri ve endeksi ile veri- ileme hazrlam bulunuyoruz. Bundan sonra, tablolarmz sorgulayabilir; tablolar ve sorgulardan raporlar hazrlayabiliriz. Verilerimizi, kelime ilem programnn iinde tablolar oluturup, bu tablolarn iine yazmyorsak, bunun bir nedeni olabilir: Verilem programlarnn sorgu arac. Sorgu veya Query, veritaban fikri ortaya atld gnden beri var. Hatta, veritaban dosyalarnn, dier bilgisayar kayt dosyalarndan ayrmasn salayan unsur, sorgudur. Bir veritaban dosyasndaki bilgileri sorgulama ve bu verilerden yeni bilgiler elde etme ihtiyac o kadar belirgin hale geldi ki, bilgisayar mhendisleri srf bu i iin bir dil bile icad ettiler: Sorgu Dili (Query Language). Ne var ki, veritaban biimi kadar sorgulama dili ortal kaplaynca, belli bal bilgisayar donanm ve yazlm firmalar ve niversiteler biraraya gelerek, bu kargaaya son vermek zere kollar svadlar; ve ortaya SQL (Structured-Yaplandrlm Sorgu Dili) kt. SQL, 1980lerin balarnda Sybase firmas tarafndan UNIX ortam iin gelitirildi. Microsoft firmas, Sybaseden ruhsatn ald bu teknolojiye dayanan MicrosoftSQL Server programn 1987de Windows 3 iin piyasaya srd. Ertesi yl, MS, Sybase ve Ashton-Tate firmalar MSSQL-Servernn OS/2 srmn ortaklaa hazrladlar ve daha sonra IBMLin de katld bu aba 1991e kadar srd. Ashton-Tatein bu birlikten 1990da ekilmesi zerine, Sybase ve MS yeni bir anlama yaparak, dili ve Server, Windows NT ortam iin birlikte gelitirmeye baladlar. Bu abann sonucu SQL Server program oldu. Bu program, bugn 7nci srmndedir. Bir taraftan endstri apnda geerli bir teknoloji ve bu teknolojinin balca arac olan bir dilin ad olarak SQL, dier taraftan Microsoft firmasnn bu teknoloji ve dili kullanan bir programnn adnda (SQL Server) kullanld iin, sadece Microsofta ve Windows ortamna ait sanlabilir. Bu doru deildir. SQL, bugn piyasada bulabileceiniz belli bal veritaban oluturma ve veri-ilem programlarnn ortak dilidir. Microsoft Access, 1992 ylnda dnyaya geldi; ve ilk gnden itibaren tek bana bir veritaban oluturma ve ileme program olarak deil, 43 fakat daha byk veritaban dosyalarna, veri bankalarna balanabilen ve oradaki verileri ileyebilen bir program olarak tasarland. Access 2000, Access Projesi (Dosya mensnden Yeni maddesini ve alan ablon kutusunda Proje (Yeni Veritaban) adl simgeyi tklayn) dosyalar oluturarak, SQL Server dosyalarna ulaabilir; bu dosyalarda SQL sorgular altrabilir. Iyi bir Access kullancs, bu programla byk veritaban mimarisine adam atabilir; ileri dzeyde veri-ilem tekniklerini renebilir. Veri Madencilii (Data Mining) teknolojileri, Online Analytical Processing (OLAP) teknikleri ve gnmzde veri ynlendirmeli Web uygulamalar, SQLe dayanan gelimelerdir. Accesste receiniz SQL, size bu teknolojilerie ilk adm atmay salayacaktr. Accesste SQLe ilk adm ise daha nce grdmz Szme ileminin son blmnde ksaca szn ettiimiz Gelimi Szme/Sralama arac ile atlabilir. Aslnda Accesste yaptmz seme veya Form yoluyla szme ilemleri, bir sorgu ilemidir; ancak bu sorgunun SQL komutunu (veya Accessin kulland kelimeyle, deyimini) Access kendisi oluturur. Gelimi Szme/Sralama (GSS), dier szme ilemlerine gre ileri saylrsa da, bir sorgu deyimi (SQL komutu) yazmann yannda basit saylabilir. Bu sebeple, tabir yerinde ise Accessin destekledii bir sorgu gelitirme ilemi olan GSSy sorguya giri konusu olarak ele alabiliriz. GSSy kavradmz anda sorgu tekniini kavram oluruz. Accessin sorgu teknii ise daha genel SQLe giri saylr. GSSnin bir sorgu arac olarak snrlamalar vardr. Sadece bir tablonun ierdii verilerle alabilir; birden fazla tablo veya baka sorgularn sonularn kullanamaz. Sonu itibariyle gSS de bir tabloda belirli ltleri karlayan kaytlar grnteleme aracndan baka bir ey deil; birden ok tabloda sorgu yapmak iin gerek sorgu aracn kullanp, gerek SQL komutlar yaszmamz gerekir. GSSte verilere sadece basit sorular sorabiliriz. (Daha gelimi sorgular iin, gerek sorgu aracn kullanrz.) GSS ile yapacamz szme sonunda grntlenen kaytlarn btn alanlar grntlenir; oysa gerek sorguda ortaya kacak yeni tablo veya formda hangi alanlar olsun istiyorsanz o alanlar olur. Bu snrlamalarna ramen (belki de bu yzden) GSS, Accesste sorguya giri iin mkemmel bir adm saylr. imdi bir tabloyu an ve Kaytlar mensnden nce Sz, sonra Gelimi Szme/Sralama maddesini sein. Bu, eer bata tablo ekleyebilseydik, sorgu hazrlama penceresinin ta kendisi olurdu. GSS, belirttiimiz gibi sadece bir tablo ile alr; ve o 44 tablo da seilmi olarak karmza gelir. Bu penceresi inceleyelim. stte, sorguda (pardon, szgete) kullanlacak tablo yer alr. Buraya alan listesi denir. Altta ise szgeci olutururken kullanacamz, imdilik bo olan, sorgu tasarm klavuzu yer alr. Burada sadece szme amacyla yararlanacak da olsak oluturacamz ey gerekten bir sorgudur. Bu blmde, Alan isimli birinci satrn birinci stundaki kutusunun iini, sada seme oku belirince oku tklayn: yukarda alan listesinde yer alan alan adlarnn burada sralandn greceksiniz. Sorgu, burada olduu gibi ileri dzeyde szme ilemi iin bile olsa, veriye soru sorulmas anlamna gelir. GSSde bir snftaki rencilerin snav notlarn ieren tablomuza rnein Son snavda 4,5dan aa not alm renciler kimler? diye sorabiliriz. Ya da yemek tariflerini derlediimiz bir veritabannda, Kebaplar tablosuna Iinde biber olmayan ve kyma ile yaplmayan kebaplar hangileri? sorusunu yneltebiliriz. Mzik kaset ve CDlerinizin veritabanndaki Trkler tablosuna Yavuz Bingln 1996dan sonra km kaset ve CDleri hangileri? diye sorabiliriz. Ya da elimizdeki Adres Defteri veritabannda Aile tablosuna Istanbul ve Nidede oturan ve kart yollamam gereken dostlarm kimler? eklinde bir soru yneltebiliriz. Bunun iin, Alan srasnn birinci stundaki kutusunun seme okunu tklayarak, alan listesinden ehiri sememiz gerekir. Sonra, GSSnin sadece szme deil ayn zamanda sralama yaptn hatrlayarak, ikinci sradaki Srala kutusunun sandaki seme okunu tklayarak, Artan, Azalan ve Srasz seeneklerinden Artan seelim. Ve sra geldi, szme iin uygulatacamz ltleri belirlemeye. lt satrnn iini tklayp Istanbul yazyoruz. Trnak iaretlerini siz koymazsanz, Access koyar. Istanbul VE Nidede oturan dostlarmz birlikte semek iin, alttaki VEYA satrna da Nideyazalm. Buraya kadar, tabloya soracamz sorunun birinci blmn sormu olduk: Istanbul ve Nidede oturanlar. imdi sorgunun ikinci blmne geliyoruz: Kart gndermem gerekenler. Ikinci blmdeki veritaban altrmasn yaptysanz, KartYolla alannn trn Evet/Hayr yaptmz hatrlyor olmalsnz. imdi, Alan satrnn ikinci stununda KartYolla alannn sein; (Evet deerlerinin sraya sokulmasna gerek olmadna gre ikinci satr atlayabilirsiniz) ve lt sarmna Evet yazn. Ara ubuundaki Szgei Uygula simgesi tklayn ve tablonuzun sadece Istanbul veya Nidede oturanlardan kendilerine kart yollamam gerekenleri gsterdiini, dierlerinin szldn ve szgecin dier tarafnda kaldn greceksiniz. Kendi kendinizi kutlayabilirsiniz: nk sadece Accessin gelimi szme ve sralama aracn kullanmakla kaldk; SQL komutu yazmaya 45 da ilk adm attk. imdi artk Accesste ciddi sorgulama ileri yapabiliriz. Sorgu, veriye soru sormaktr! demitik. Kimi zaman bir tablonun cevaplayabilecei sorular, szme ve hatta sralama ile zmleyebiliriz. Fakat elde iki veya daha ok tablo varsa ne yapanz? Diyelim ki, siz sadece bir snfn deil, be ayr snfn retmenisiniz ve snflarnzda baar orann etkileyen garip bir eilim farkettiniz. Sizin derslerinizde kz renciler genellikle baarsz oluyor. Sadece bir snfn retmeni olsanz, bu kukunuzun yerinde olup olmadn snamak iin iki szme ilemi size sonucu verirdi. (Nasl?) Fakat be ayr snf sz konusu olunca, her tablonun kendi iindeki yzdeler, anlaml olmayabilir. Size btn tablolardan seme-szme yapan bir ara gerekiyor. Ya da be tabloya birden soru sormanz salayacak bir ara. Bu aracn ad Sorgudur. Access'in #or5ular Access 2000, bize alt ayr sorgu tr veriyor. Bunlardan Basit Seme sorgusu, biraz nce ele aldmz Gelimi Szme/Sralama aracnn birden fazla tablo kabul edebilenidir. apraz sorgu, verileri gruplandrarak, bunlar iin saym, toplam ve ortalama gibi hesaplar yapar. rnein rencileri cinsiyetlerine ve derslere gre gruplandrp, aldklar not ortalamalarn gstermek., apraz tablo yapmaktr. apraz sorgu bir tabloda alt iin, rnein rencilerinizin notlar derslere gre ayr tablolarda ise bunlar bir tabloda basit seme sorgusuyla birletirmeniz gerekir. Tablo yapma sorgusu, seme sorgusundan farkl olarak, alt zaman ortaya bir tablo penceresi kmaz; Access, sizden daha nce ald isimle bir tablo oluturur. Bu tablo veritabannn paras haline gelir. Oysa dier sorgularn sonular ancak sorgu alt srada vardr. Gncelletirme sorgusu, sorgu tasarm srasnda verdiiniz bir sabit deeri veya verdiiniz bir deyimin o srada bulunacak sonucunu, tayin ettiiniz bir alana yazar. Bu, Bul-Deitir gibi basit bir ara olmayp, her kayd, belirli bir formle veya kydn kendi iindeki bir deere gre yeniden hesaplayabilir. Ekleme ve Silme sorgular da gncelletirme sorgusu gibi, ya farkl tablolarn kaytlarn birbirine ekler, ya da tablolardaki kaytlar siler. Bunlarn dnda tasarm srasnda yklediiniz ilevlerin bir sonucu olarak bir sorgu Parametre sorgusu (verdiiniz grevi yapabilmek iin kullancdan bir deer girmesini isteyen sorgu), SQL Sorgusu (SQL komutlarn kullanarak birleim, dorudan sorgu, veri tanmla ve alt sorgu gibi veritabannz ODBC yoluyla dardan kullanacak kullanclar gznnde tutarak hazrladnz sorgular) ve otomatik arama sorgusu 46 (yeni bir kaydn baz alanlarnn otomatik olarak doldurulmasn salayan sorgu, AutoLookup sorgusu) diye de adlandrlabilir. Basit Seme Sorgusu (BSS) dndaki sorgular, ileri dzeyde Access bilgisi ve hatta bir lde Programlar Iin Visual Basic (VBA) bilgisi gerektirebilir. BSSyi iyi kavrayarak, bu ileri dzeydeki sorgular iin mkemmel bir balang yapabilirsiniz. BSSin temel zelliklerini sralarsak, unlar karmza kyor: 1. Sorguda birden fazla tablo kullanabilirsiniz; tablolar arasnda oluturduunuz ilikiden yararlanabilirsiniz. 2. Sorgu sonucu sadece istediiniz alanlar grntleyebilir; bu srada gerekli olmayan stunlar yeni sorgu sonucu tablosuna almayabilirsiniz. 3. Sorgu sonucu oluacak tabloda alanlar istediiniz stun srasna sokabilirsiniz. 4. Seme ilemi sonucu ka kaydn grntlenmesini istiyorsanz, o kadar kayda yer verebilirsiniz. 5. BSS (ve dier) sorgular icra ettikten sonra, sorguya konu olan tablolarn deerlyeri deimez; baka bir deyile sorgular tablolar sadece okur, ieriini deitirmezler. Bir sorgu iledikten sonra tablo oluturuyorsa (Tablo Yapma Sorgusu ise) ortaya yeni bir tablo kar. Sorguyu tekrar altrdnzda bu tablo yeniden yazlr ve Access 2000, zelletir kutusunda yaptnz uyar ayarlarna gre sizi uyarabilir. Ikinci blmdeki Adres Defteri altrmasn yaptysanz, bu veri tabann an ve birlikte bir BSS oluturalm. Adres Defteri veritabann oluturmad iseniz, aadaki admlar kendi veritabannza uygulamak zorundasnz. Burada yapmak istediimi i veya Access 2000e sormak istediimiz soru u: Istanbulda oturan ve ocuu olan dostlarmz kimler, ocuklarnn ad ne? Veritaban dosyas aldnda, veritaban penceresinde, nesneler listesinde Sorgular satrn tklayn. Sorgular penceresinde Tasarm grnmnde sorgu olutur ve Sihirbaz kullanarak sorgu olutur eklinde iki ksayol greceksiniz. Pencerenin ara ubuundaki Yeni dmesini tklarsanz, karnza daha ok imkan sunan bir sihirbazn ilk admn ieren bir kutu alacaktr. Bu kutudaki Basit Sorgu Sihirbaz maddesi, Sorgu nesnesi penceresindeki Sihirbaz kullanarak sorgu olutur ksayolu ile ayn sonucu verir. Ister Yeniyi tklayp alan kutudan Basit Sorgu Sihirbaz maddesini sein, ister Sihirbaz kullanarak sorgu olutur ksayolunu tklayn. 47 BSS sihirbaznn ilk penceresinde hangi alanlarn sorguda bulunmasn istediinizi belirtmeniz gerekir. Bir sorgu sadece tablodan deil sorgu sonucundan da seme yapabilir; dolaysyla sol stteki semeli listede veritabannzda mevcut btn tablolar ve sorgular sralanr. Bu listede seilmi olan tablo veya sorgunun ierdii alanlar ise sol altta kullanlabilir alanlar listesinde yer alr. Veritabanmza soracamz sorunun birinci blm Istanbulda oturan dostlarmzn seilmesi olduuna gre, bu kiilerin kaytl olduu Aile tablosunu semek zorundayz. Bu alanlardan hangileri BSS sonucu oluturulacak tablomuzda yer alsn istiyoruz? Bir kere dostlarmzn adn ve soyadn sememiz gerekir. Seilecek kiilerin tmnn Istanbulda oturanlar olmas iin ehir alannn da seilmesi art. Bunu yapmak iin arzu ettiimiz alann adn bir kere tkladktan sonra ortadaki dmelerden en stte olan saa doru tek oklu dmeyi tklyoruz. Soldaki alanlarn tmnn sorgu srasnda kullanlabilir olmasn isteseydik, ikinci sradaki iki oklu dmeyi tklamamz gerekirdi. Bir alan yanllkla saa geirirsek, nc sradaki sola doru tek oklu dmeyi tklayarak sorguda kullanabileceimiz alanlar listesinden kartrz. Bu alanlarn tmn sorgu listesinden kartmak iin el alttaki iki oklu dmeyi tklayabiliriz. Veritabanna sorduumuz sorunun ikinci blm, Istanbulda oturan dostlarmzdan sadece ocuklar olanlarn seilmesini, nc blm ise ocuklarn adlarnn da listelenmesini gerektirdiine gre, bize ocuklar tablosu ve bu tablodaki ocuk adlar alan da gerekiyor. imdi Tablolar ve sorgular kutusunun seme okunu tklayarak alan listeden ocuklar tablosunu seelim, sonra da bu tablonun Ad adl alann saa aktaralm. Ama hemen Ileri dmesini tklamayn. imdi bir an iin kendimizi Access 2000in yerine koyalm: Biraz sonra bir seme ilemi yapacaz; ocuu olan ve Istanbulda oturan kiileri seeiz. Istanbulda oturanlar semek kolay: Eer ehir alanndaki deer Istanbul ise bu kiiyi seebiliriz. Peki bu kiilerin ocuu olup olmadn nasl bilebiliriz? Veya yle soralm: bu kiilerin ocuklar varsa bunlar ocuklar tablosunda nasl belirleyebiliriz? Bu iki tablo arasnda iliki salayan alanla! Veritaban tasarmnda en zor nokta, tablolarda gereksiz yere tekrar nlemek amacyla alanlar baka tablolara aktarmak gerektiinden sz ettiimiz srada, tablolar arasnda iliki kurmamz gerektiini belirtmitik. Ikinci blmden hatrlyorsanz, Aile tablosuyla ocuklar tablosu arasndaki ilikiyi, yani hangi ocuun hangi aileye mensup olduunu Aile Sra No alanndaki bilgiyi iki tabloda ortak kullanarak biliyoruz. Baka bir deyile bir ocuun Aile Sra No alanndaki deer, bu ocuun hangi ailenin yesi olduunu gsteriyor. Sorgu srasnda Access 2000, yle dnebilir: Hmm. Istanbullu bir 48 kiiyi seeyim; sonra bu kiinin Aile Sra No alanndaki deeri, ocuklar tablosundaki ayn adl alanda arayaym; eer bu iki deer ayn ise bu ocuun adn alp, Istanbullu kii ile birlikte kaydedeyim. Accessin dndn uygulayabilmesi iin, ona her iki tablodan Aile Sra No alann da vermemiz gerekir. O halde nce ak olan ocuklar tablosunun, sonra da yeniden Aile tablosunu seerek, Aile Sra No alanlarn saa aktarn. Bu kutuda iimiz bittiine gre Tamam tklayabilirsiniz. (Sorgu ka tablodan ka alan semeyi gerektiyorsa, o kadar alan seebilirsiniz. Buradaki rnek bu alanlar gerektirdii iin burada duruyoruz; sizin rneiniz baka tablolardan baka alanlar gerektiyorsa, semeye devam edin.) Basit sorgu sihirbaznn ikinci penceresi, sorgu sonucu oluturulacak tabloda ka kayt olacan belirler. Varsaylan deer, setiiniz tablolardaki tm kaytlarn sorgu sonucu oluacak tabloya alnmasdr. Fakat diyelim ki size sorgu sonucu oluacak tablonun ilk 5, 25 veya 100 kaydn ieren zet bir tablo da oluturabilirsiniz. zet tablo iin zetk seeneini sein ve zet Seenekleri dmesini tklayn. Bu i bittikten sonra veya Ayrntl seeneini seerek, Ileriyi tklayabilirsiniz. nc pencerede yeni sorgunuza isim vermeniz, Sonu tkladnzda sorgunun icra edilmesini mi, yoksa sorguda sihirbazn yapmad deiiklikleri yapmak zere tasarm grnmnn almasn m istediinizi belirtmeniz gerekir. Burada yardm isteyip istemediinizi belirteceiniz bir baka seenek daha var. Tasarm g sorgular yaptnzda, Access 2000in yardm penceresinin alm olmas size kolaylk salar. imdi, sorgunun tasarm ile ilgili ilerimiz bitmedii iin ikinci seenei iaretleyerek Sonu tklayalm. Access 2000, setiiniz iki tabloyu sorgu tasarm penceresinin st blmnde gsteriyor. Iki tablo arasndaki iliki izgisine dikkat edin; bu ilikiyi ikinci blmdeki altrma srasnda kurmutuk. Access, setiiniz alt alan, deerleri ne olursa olsun, btn kaytlar ile semeyi (ve bunu yaparken iki tabloyu birletirmeyi) salayan bir sorgu tasarm neriyor. Btn alanlarn seildiini, sorgu tasarm penceresinin alt yarsndaki klavuzda, Alan satrndaki alan adlarndan anlyoruz. Bu satra yazlan alan adlarn inceleyin; tablo ad ile tablonun alan ad nasl birletiriliyor? Ikinci satrda ise tablonun ad belirtiliyor. Srala satrnn bo brakldna dikkat edin. Gster satrndaki kutularn iaretli olmas bu alann sorgu sonucu oluturulacak tabloda gsterilecei anlamna geliyor. Ve son olarak lt satrlarnn bo olduuna dikkat edin. 49 Biz sorgumuzun sadece ocuklar olan Istanbullular kapsamasn istiyorduk. O halde, ehir alannn stununda, lt satrna Istanbul yazmamz gerekiyor, ki sadece Istanbullular seilsin. Peki bunlar arasndan ocuklar olanlar nasl seeiz, Access ile alma konusunda ustalnz ilerledike, bu tr artl semeleri (SQL deyiminde eer art geen sorgular) oluturma becerisi de edineceksiniz. Fakat imdilik byle bir sorgu deyimi oluturmaya gerek yok: Access, ocuklar listesindeki Ad deerlerini seerken, bunlarn Aile Sra No deeri Aile tablosunda Aile Sra No deerine denk gelmeyen kaytlar semeyecektir. (Aile tablonuzda ocuksuz Istanbullu dostlarnz, ocuklar tablosunda da Istanbullu ailelere mensup olmayan ocuklar bulunmasn salayn, ki BSSin gerekten ileyip ilemediini snayabilelim.) imdi sorgu tasarm penceresinde ehir stununda lt satrna Istanbul yazn. Sorgu sonucu oluacak yeni tablomuzda iki ayr Aile Sra No stununa gerek olmad iin ocuklar tablosundan alnacak Aile Sra No stununun Grntle satrndaki iareti kaldrabiliriz; fakat BSSin tablonun iliki bandan nasl yararlandn grmek iin imdilik bu iareti kaldrmayn. zetle, Access 2000 BSS sihirbaznn tasarmna sadece ehir alannda lt olarak Istanbul kelimesini eklemi olduk. Bu srada Access 2000in ara buuunda nlem iareti eklinde bir simge belirdiini gryor musunuz? altr isimli bu ara, Access 2000e Bu sorguyu icra et ve sorduum sorunun cevabn bana tablo alarak gster! komutunun ksayoludur. imdi bu simgeyi tklayalm. Ite sorumuzun cevab: Aile listemizde yer alan ehir alanndaki deer Istanbul olan ve ocuklar tablosunda kendilerine ait ocuk bulunan dostlarmzn listesi! Access ile alma becerinizi arttrdka, her ocuu mensup olduklar aile ile ayn satra ocuk 1, ocuk 2 ... eklinde yeni stunlar halinde sralamay da salayabilirsiniz. Bu sorgunun verdii sonular doru bulmuyorsanz, tekrar tasarm grnmne dnebilirsiniz. Bunun iin Access 2000 ara ubuunda tasarm grnm simgesini tklayn. Sorgunun tasarmnda istediiniz deiikleri yaptktan sonra altr simgesini tklayabilirsiniz. Sorgunun istediiniz sonucu verdiini grdkten sonra kapatmaya kalktnzda Access 2000 sorguyu veritaban dosyasnn iinde kaydededecektir. Bir BSS tasarlamaya altnz srada setiiniz tablolar ilikili deilse, Access 2000 sizi uyarr ve bu ilikiyi kurmadan devam etmek istemez. Sorgu tasarm srasnda setiiniz tablolar arasndaki iliki izgisini silerek sorguyu altrrsanz, anlaml olmayan sonular alrsnz. 50 Ister insanlar arasnda, ister tablolar arasnda olsun, iliki zor eydir; itina ve dikkat, nceden planlama ve sihirli bir anahtar ister! Insanlararas ilikide sihirli anahtar nedir sorusunu Access 2000e ayrlm bu kitapta ele alamayz. (Zaten bu konu bu kadar bir kitapn kapsamn aar.) Fakat hemen belirtebiliriz ki, Accesste baarl bir veri-ilemin sihirli anahtar Birincil Anahtardr: tablolar arasndaki ilikiyi bu Anahtar ile kurarz, ve greceimiz gibi, daha bir ok kapy bu anahtarla aarz. Ikinci blmdeki altrmay yaptysanz, oluturduunuz her tablonun tasarm grnmn kapatrken, Access 2000nin bu tabloda bir Birincil Anahtar tayin edilmediini vurgulayarak sizden srarla bir alan Birincil Anahtar olarak belirleminizi istediini grm olmalsnz. Neden? nk birincil anahtar her tabloya, daha sonra bir baka tablo ile ilikilendirmek istediinizde bu ilikide zgn kiiliini verecektir. Birincil anahtar olarak belirlenen alandaki bilgilerin benzersiz olmas gerekir. Access sizi buna zorlamaz, ama birincil anahtar alanndaki bilgileriniz her kayt iin benzersiz deilse, neden birincil anahtar olarak atam olabilirsiniz? Birincil anahtar, bir kayd, bir baka tablodaki bir kaytla birletirmekte kullanacamz anahtardr. Birincil anahtarn dier ilev ve yararlarna ksaca deindikten sonra kayt birletirmedeki rolne dneceiz. Her tablonun bir, ama sadece bir, Birincil Anahtar olabilir. Access 2000, her tablonun birincil anahtarn otomatik olarak endeksler (ve bu sayede veritaban daha hzl alr). Tablonuzda siz bir alan Birincil Anahtar olarak atamadysanz, Access 2000 bir birincil anahtar alan oluturmak ister; bunu onayladnzda bir otomatik say alan aar; tablonuzda zaten birinci alanda otomatik say tr bir veri varsa, Access 2000 bu alan birincil anahtar olarak atar. Bu sebeple, iyi bir tablo tasarm ilerde kullanmayacak bile olsanz, birinci alan otomatik say olarak belirlemeyi gerektirir. Birincil anahtar, hemen hemen daima sadece bir alandan oluur. Fakat Access 2000, ancak ok pahal veritaban Server programlarnn yapabilecei bir imkana da sahiptir: veri-ilem iiniz birden fazla alandan oluan Birincil anahtar kullanmanz gerektiriyorsa, bunu yapabilirsiniz. ok-alanl Birincil Anahtar, ileri dzeyde veri-ilem ve sorgulama bilgisi gerektirir. Her veri tr birincil anahtar olamaz: birincil anahtar olarak kullanamayacanz veri trleri, Internet adres balants (kpr), OLE ve not trleridir. Buna gre, metin, say, tarih/saat, para birimi, Evet/Hayr, ve otomatik say alanlar birincil anahtar olarak 51 kullanlabilir. Tablolarnz, birincil anahtar alanna gre otomatik olarak sralanr. (Eer bir Evet/Hayr alann birincil anahtar yapmaya kararlysanz, tablonuzda en fazla iki kayt olmas gerekir. Neden?) Birincil anahtarn tabaloda birinci alan olmas gerekmez; herhangi bir alan birincil anahtar olabilir. Fakat kendinizi tabolalarnzda birincil anahtar arama zorluundan kurtarmak iin daima birinci alan birincil anahtar yapacanz veriye ayrmanz iyi bir alkanlk olur. -irincil Ana+tar *ayinin"e P )o.tas Tablomda hangi alan birincil anahtar yapmalym? sorusu kanlmaz olarak sorulacak sorudur. Bu sorunun bir cevab olabilir: Benzersiz veri ieren alanlardan birini birincil anahtar yapn. Birincil anahtar seiminde anahtar kelime, benzersiz kelimesidir! Seeceiniz alandaki veri, her kayt iin zgn olmaldr; baka hi bir kaytta tekrar etmemelidir. Kiilerin adlarn, soyadlarn ieren alanlar zgn olamaz. renci numaralar, ara plaka numaralar da bir ka yl sonra tekrar baka renciye veya araca verilebilir. Telefon numaralar bir lke iin zgn olabilir (her blgenin kodu farkl olaca ve ayn blge kodunda benzer numara bulunmayaca iin), ama veritabannzda rnein blge kodu ayn olan Istanbul ve New York kentlerindeki dostlarnzn telefon numaralar varsa, zor bir tesadf bile olsa, ayn numara bulunabilir. Birincil anahtar alan belirlerken, tablonuzda zgn-benzersiz veri bulunan alan arayn. Btn alanlarnzdaki verilerin tekrar etmesi ihtimali varsa, yeni bir alan an ve iine otomatik say koyun.. Gerisini Access 2000 dnsn! Bir tabloda birincil anahtar alan tayini son derece kolaydr. Tabaloyu tasarm grnmnde an; birincil anahtar olarak atamak istediiniz alann adnn bulunduu kutuyu sa-tklayn ve alacak mende birinci madde olan Birincil Anahtar maddesini sein. Bu alann adnn nndeki kutuda kk bir anahtar simgesi belirecektir. Birincil anahtarn veritaban iin nemini ortaya koyacak kk bir deney yapalm ve sonra birincil anahtarn birincil grevi olan tablo ilikilendirme konusuna dnelim. Yukardaki altrmay yaptysanz ocuklar tablosunu (veya herhangi bir alan Birincil Anahtar olarak tayin edilmi bir baka tabloyu) an, ve yeni bir satrda birincil anahtar alanna mevcut deerlerden birini tekrar yazn. Iinizin bittiini belirtmek zere baka bir hcreyi tklayn; Access 2000 hemen hata mesaj verecektir: 52 Birincil anahtar alanndaki verinin zgn olmas gerekir; yoksa bu anahtar asl grevini yapamaz. Tablolar arasnda iliki kurmak suretiyle, veritaban dosyamz dz veritaban olmaktan kurtardmz sylemitik. Tablolar aras iliki, Access 2000in daha hzl sorgu icras yapmasn salar; veri-ilem ilerimiz daha verimli olur. Bu sayede verilerimizi gncelletirirken, btn tablolar elden geirmek ve hatta yeniden girmek zorunda kalmayz; sadece gncelletirilmesi gereken tabloya ek veya bu tabloda deiiklik yaparz. Bir firma dnelim: en az 200 firmadan hammadde alyor ve en az 500 bayie maml madde veriyor. Bu firmalarn adreslerinden, alnan hammadde ve verilen maml maddelerin zelliklerine kadar, diyelim ki 2 bin stun dolduran verilerimizi tek tabloda topladmz varsayalm. Byle bir tabloda, aldmz mallara ilikin bilgi stunlar, sattmz mallara ilikin satrlarda bo kalrken, sattmz mallara ilikin bilgi stunlar aldmz mallara ilikin satrlarda bo braklmak zorundadr. Bu hem gereksiz yere ikin bir veritaban dosyasna yol aar, hem de veri giriinde saysz hatalara sebep olur. A firmasndan aldmz yeni bir mala ait yeni bir kayt girerken, firmann adndan adresine, faks numarasndan posta koduna kadar btn bilgileri yeni satra tekrar yazmak zorunda kalrz. Bu, yeni yazm hatalarna davetiye kartmak demektir. Tekrar eden bu bilgilerin dosya boyutuna bindirecei yk dnn! Verilerimizi tek tabloda toplamann sakncalarn anladk. Ve diyelim ki elimizde byle, be veya alt tabloya blnm bir veritaban var. imdi, son 3 ay iinde mal aldmz firmalarn bir dkmn kartmak istiyoruz. Be-alt ayr tabloyu mu kada dkeceiz? Bu ayr ayr tablolara blnm bilgileri nasl birletireceiz? Baka bir deyile, ayr tablolara bldmz verileri iare yarar, anlaml diziler haline getirmek iin nasl birletirebiliriz? Bunu, tablolar herbirinin dieri iin anlaml tek zgn alanndan, yani Birincil Anahtarlarndan birletirerek yapabiliriz. Veritabannz bu birden fazla tabloya blerek ve herbirine zgn birincil anahtar alanlar koyarak tasarlasanz bile, ayn veritaban iinde yer alyorlar diye tablolarnz kendiliklerinden iliki kurmazlar. Bunu bizim salamamz gerekir. Kendi tablolarmzda kendi ilikilerimizi oluturmadan nce, Access 2000nin bunu nasl saladn grmek, iliki konusunda bize daha iyi fikir verecektir. Bunun iin Access 2000i altrn; Yeni veritaban oluturmak zere alan pencerede Veritabanlar sekmesini sein ve Stok Ynetimi ablonunu iaretleyin. Yeni bo stok ynetimi 53 veritabannz oluturulduunda, eer Access penceresi iinde kltlm durumda ise veritaban penceresini bytn; Switchboard ad verilen veritabann kullanmanz iin oluturulan grafik arayz kapatn. Stok Ynetimi1 adl yeni stok ynetimi veritabannzn nesnelerinden Tablolar setiinizde, yedi adet asl tablo oluturulduunu greceksiniz: rnler, stok hareketleri, kategoriler, alanlar, sipari formlar, reticiler ve nakliye yntemleri. Stok ynetimi konusu ile hi ilginiz yoksa bile, sadece iliki konusunu kavramak iin, bu tablolarn bir firmann elindeki stoklar takip iin gerekli ve yeterli olduunu varsayalm. imdi, Aralar mensnden Ilikiler maddesini sein. Karnza una benzeyen bir pencere alacaktr: Alan penceredeki kutular arasndaki izgiler buradaki grntye benzemiyorsa, kutular Mouse iaretisiyle balklarndan tutarak srkleyebilir ve konumlarn buradakine benzer ekle getirebilirsiniz. Bu pencerede, kutularn balnn tablo adlarn ierdiine dikkat edin. Kutularn iindeki maddeler ise tablolardaki alanlarn adlardr. Her tablonun kutusunda bir alan adnn koyu yazldn gryor musunuz? Bu, o tablonun birincil anahtar olan alandr. Baz alanlardan kan izgilerin dier bir kutudaki alana balandn gryorsunuz. Dikkat ederseniz, aralarnda izgi bulunan alan adlarnn ayn olduunu da greceksiniz. Bu izgilere iliki denir; tablolarn birbirleri ile hangi alanlarndan ilikide olduklarn gsterir. emaya veya Access Ilikiler Penceresine tekrar bakarsanz, iliki izgilerinin bazlarnn sol ucunda 1, sa ucunda sonsuz iaretinin bulunduunu, baz ilikilerde iaretlerin yer deitirdiini ve dierlerinde ise izgilerin iaretsiz olduunu greceksiniz. Bu iaretler kurulan ban niteliini gsterir; ban nitelii ise daha sonra iki tablo arasnda yaplabilecek birletirmede hangi kaytlarn hangi kaytlarla birletirilecei veya Accessin deyimiyle eletirileceini tayin eder. Bu tanmla biraz ifreli grnyorsa da Accesste kurabileceimiz ilikilerin niteliklerini ele alnca manzara aydnla kacaktr. Tablolarnzn arasnda tr iliki olabilir: -ire bir ili6.i: Ilikilendirdiiniz iki tablodan birincisi ile ikincisi arasnda sadece bir kayt eleebilir. Bu tr ilikilendirmeyi tabalolarmzda sk kullanmadmz greceksiniz; nk genellikle byle tek gerekli tablo yapmayz. -irBo. ili6.isi: Birbirine baladmz iki tablodan birindeki bir kayt dier tabloda birden fazla kaytla eleebilir. Ikinci blmdeki rneimizi hatrlarsanz: bir ailenin birden fazla ocuu olabilir; fakat 54 her ocuun sadece bir ailesi olabilir. Dostlarnmzn ocuklaryla birlikte bir tablosunu edinmek istersek, ocuklu dostlarmzn ad yeni tabloya ayr satrda yazlacak, iki ocuklu dostlarmzn adlar iki, tek ocuklu dostlarmzn adlar ise bir kere girecektir. Neden? nk aile ba (Aile Sra No alan), ocuklar tablosunda ok kayda iaret ediyor. o.Bo. ili6.isi: Ilikilendirdiimiz tablolardan birincisinde birden fazla alan, ikincisinde birden fazla kayda (ve tabi ikincisindeki birden fazla alan birinci tablodaki birden fazla kayda) iaret ediyorsa, bu kez tablolar arasnda ok-ok ilikisi var demektir. rnek tablomuzda byle bir durum yok, ama bir sipari veritaban dnn: her bir sipari emrinde birden fazla mal sipari ediliyor olabilir; mal tablosunda ise her bir mal birden fazla sipari tablosunda grnyor olabilir. Byle bir ilikinin sonucu ortaya kacak nc tabloda hem hem her bir sipari, hem de her bir mal birden fazla satrda grnecektir. imdi bu bilgilerin nda biraz nce oluturduunuz Stok Ynetimi veritabannn ilikiler penceresine bakalm. imdi bu veritabanndaki dosyalar kullanarak, firmamzn verdii siparilerle ilgili ve siparii veren personele gre sipari miktarlarn gsteren yeni bir tablo yapabilir miyiz? Yapabiliriz. Siparii veren Personel, hangi tabloda hangi alandaki bilgi ile bulunacak? alanlar tablosundaki alanNo alanndaki veri ile. Peki, bu alandaki kaytlar, hangi tablodaki hangi alanda bulunan kaytlarla eletirilecek? Sipari formlar tablosundaki alanNo alanndaki kaytla. Yani alanlar tablosundaki alanNo alanndaki veri Ahmet alkan arkadamza ait 812 ise ve bu deer, Sipari formlar tablosundaki kaytlarda alanNo alanndaki deerlerle eleiyorsa, bu kayt yeni tablomuza alnacak; sonra srasyla dier deerler taranacak, eleenler yeni tabloya dahil edilecektir. (Yeni tablo nerede ve nasl oluacak? sorusunu imdilik sormayn; bunu Sorgu ile yapacaz; ve daha sonra ele alacaz.) alanlar tablosundaki alanNo alannda Mehmet Tembelolu arkadaz belirten 813 eklindeki veri, Sipari formlar tablosundaki kaytlarda alanNo alanndaki hi bir veri ile elemiyorsa ne olacak? Yeni tabloda 813 eklindeki alanNoyu ieren bir kayt olmayacaktr. Ve muhtemelen Mehmet Tembelolu, neden hi sipari vermediini izah etmek zorunda kalacaktr! Tablolarmz arasnda iliki oluturma iini kendimiz yapmak istersek, yine biraz nce atmz Aralar mensnden Ilikiler maddesini geerek atmz pencereyi amamz gerekir. Ikinci blmdeki Adres Defteri altrmasn yaptysanz, imdi bu veritaban dosyasn aabilirsiniz. Bu altrmay yapmad iseniz, imdi ikinci blme dnp bu dosyay oluturabilirsiniz! Veritaban aldnda veya tablolar 55 oluturma iini bitirdiinizde Aralar mensnden Ilikiler maddesini sein. Karnza una benzeyen bir grnm gelecektir: Biz kurmadmz halde iki tablomuz arasndaki bu iliki, ocuklar tablosunu olutururken, Aile Sra No alannn doldurulmas iin Aile tablosunun ayn adl alanna girilmi kaytlara baklmasn istemi olmamzdan kaynaklanyor. Burada grdnz izgiyi ortasndan sa tklayn ve alan menden Sil maddesini sein; Access silme ilemini onaylattrmak istediinde Eveti tklayn. imdi iliki oluturmaya sfrdan balayabiliriz. nce bir kere daha kurmak istediimiz ilikinin amacn tekrar edelim: yeni adres defterimizi oluturduumuz srada yle bir an olabilir ki, dostlarmzn ocuklarn gsteren, veya ocuklarn ailelerine gre sraland bir liste yapmak isteyebiliriz. Byle bir yeni tablo oluturmaya kalktmzda, Accessin hangi ocuun hangi aileye ait olduunu bilmesi gerekir. Bunu iki tabloyu ilikilendirerek veya baka bir ifadeyle Accesse, hangi ocuun hangi aileye ait olduunu nasl belirleyeceini syleyerek yapabiliriz. Accesse unu sylemek zorundayz: ocuklar tablosundaki kaytlarla Aile tablosundaki kaytlar birletirirken birinci tablonun Aile Sra No alanndaki deerin ocuk tablosundaki kaydn ayn isimli alanndaki deerle eleip elemediine dikkat et; eer bu veriler ayn ise o zaman bu ocuk o aileye ait demektir; iki kayd birletirebilirsin. Bunu sylemenin yolu ise ok kolay: Ilikiler tablosuna ait kutudaki AileSraNo satrn Mouse iaretisiyle tutup, gtrp ocuk tablosundaki AileSraNo satrnn zerine brakn. (Ilikiler penceresini atnzda tablolarna ilikin kutular gremiyorsanz, Ilikiler mensnden Tablo Gster maddesini; alacak kutuda kaytlar arasnda iliki kuracanz, dolaysyla grntlenmesini istediiniz tablolar seerek Ekle dmesini tklayn.) Srkleme srasnda Mouse iaretisinin dikdrtgen iliki simgesine dntn greceksiniz (iaretli). Mouse iaretisi brakacanz yere dikkat etmelisiniz: Access 2000, drtgeni hangi alan ad zerinde brakrsanz, o alan ilikilendirir. Mouseun sol dmesini braktnz anda Ilikileri Dzenle diyalog kutusu alacaktr. Burada solda ilikinin balad tablo ve alan ile ilikinin kurulduu tablo ve alan gsterilmektedir. Her ikisinin de seme dmelerini tklayarak baka alanlar seebilirsiniz. Bu listenin altnda, Bilgi tutarllna zorla seeneine iaret koyarsanz, Access 2000 size iki seenek daha verir: ilikinin sol tarafndaki alan gncelletirilirse, bu 56 ilikiye dahil tablolarn da gncelletirilmesi, alan silinecek olursa dier tablodaki kaytlarn da silinmesini salayabilirsiniz. (Gncelletirme kullanl bir seenek olmakla birlikte, silme ilemini otomatik hale getirmek, istemeden bilgi kaybna uramanza yol aabilir.) Ilikileri Dzenle kutusunun sa tarafndaki dmelerden Birletirme Tr dmesini tklaksanz, ilikinin yn ve trn belirleme imkann veren, seenekli Birletirme zellikleri kutusunu am olursunuz. Burada yapacanz tercihler, hangi tablodan hangi kaydn alnacan belirler. (Srasyla her seenei setiinizde, iliki izgisinin ucundaki oklarn ynnn nasl deitiine dikkat edin.) Kutular sarsayla kapattnzda, iki tabloyu ilikilendirmi, baka bir deyile Access 2000i bu tablolar kullanarak yapacanz veri-ileme hazrlam olursunuz. Bir veritabanndaki tablolar arasnda ilikileri olutuunuz zaman Access 2000, hi bir yapmayacak, sz gelimi ortaya yeni bir tablo veya rapor kartmayacaktr. Bunu yapmas iin gerekli talimat daha sonra vereceiz. imdilik sadece Accesse, bu talimat yerine getirmesi iin gerekli bilgiyi vermi, veritabanmzn tablolar arasndaki balar tantm olduk. Access 2000in veri-ilem ileri iin yapmas gereken bir dier hazrlk ise Endeks kartmaktr. Veritabanmzn tablolarn neden endekslettirmek isteriz? Daha sonra yapacamz veri-ilemleri hzl olsun diye? Access 2000n endeksi, tpk bir kitabn arkasndaki endeks gibi alr: aradnz kolay bulursunuz. Burada bulma ilemini kitap okurundan farkl olarak kullanc deil Access yapmaktadr. Access, kendi endekslerini, vereceiniz sorgu talimatlarn icra ederken, tablolar sraya sokarken, rapor olutururken ve arama yaparken kullanr. Kpr, not ve OLE nesnesi ieren alanlar dndaki tr alan trleri endekslenebilir. Sadece Birincil Anahtar olan alan deil, btn alanlar (tr uygunsa) endekslenebilir; birincil anahtar alan otomatik endekslenir. Endeks, sorgu, sralama ve aramay hzlandrr; fakat bir veri tabannda ne kadar ok alan endeksleniyorsa, Access 2000in veriilem hz o kadar azalabilir. Access 2000e tablo tasarm srasnda, endeks yaparken birden fazla benzer kayt bulunmas halinde ne yapmas gerektiini biz syleriz. Tablo tasarm penceresinde bir alan trn tkladnzda, alan tr elverili ise, pencerenin Alan zellikleri blmnde Sral satr belirir. (Access 2000, endekse yardm dosyalarnda dizin derken burada Sral demeyi tercih ediyor. Ama bu kadar kusur, kad kznda da olur!) Bu satrn iini ve sanda belirecek seme okunu tklarsanz, seeneiniz bulunduunu 57 grrsnz: Endeks yapma! anlamna Hayr ; Endeks yap, ve tekrarlara aldrma! anlamna Evet, Tekrarlama Var; ve Endeks yap ve bu arada tekrarlar yakala! anlamna Evet, Tekrarlama Yok. Bu sonuncu tercihi seerseniz, Access, endekslenmi alanlarda, tm kaytlarn benzersiz olmasna dikkat eder ve sizi uyarr. Bylece, veritabanmz birincil anahtarlar, ilikileri ve endeksi ile veri- ileme hazrlam bulunuyoruz. Bundan sonra, tablolarmz sorgulayabilir; tablolar ve sorgulardan raporlar hazrlayabiliriz. Verilerimizi, kelime ilem programnn iinde tablolar oluturup, bu tablolarn iine yazmyorsak, bunun bir nedeni olabilir: Verilem programlarnn sorgu arac. Sorgu veya Query, veritaban fikri ortaya atld gnden beri var. Hatta, veritaban dosyalarnn, dier bilgisayar kayt dosyalarndan ayrmasn salayan unsur, sorgudur. Bir veritaban dosyasndaki bilgileri sorgulama ve bu verilerden yeni bilgiler elde etme ihtiyac o kadar belirgin hale geldi ki, bilgisayar mhendisleri srf bu i iin bir dil bile icad ettiler: Sorgu Dili (Query Language). Ne var ki, veritaban biimi kadar sorgulama dili ortal kaplaynca, belli bal bilgisayar donanm ve yazlm firmalar ve niversiteler biraraya gelerek, bu kargaaya son vermek zere kollar svadlar; ve ortaya SQL (Structured-Yaplandrlm Sorgu Dili) kt. !a3lan"rlm6 #or5u Dilinin 2sa *ari+i SQL, 1980lerin balarnda Sybase firmas tarafndan UNIX ortam iin gelitirildi. Microsoft firmas, Sybaseden ruhsatn ald bu teknolojiye dayanan MicrosoftSQL Server programn 1987de Windows 3 iin piyasaya srd. Ertesi yl, MS, Sybase ve Ashton-Tate firmalar MSSQL-Servernn OS/2 srmn ortaklaa hazrladlar ve daha sonra IBMLin de katld bu aba 1991e kadar srd. Ashton-Tatein bu birlikten 1990da ekilmesi zerine, Sybase ve MS yeni bir anlama yaparak, dili ve Server, Windows NT ortam iin birlikte gelitirmeye baladlar. Bu abann sonucu SQL Server program oldu. Bu program, bugn 7nci srmndedir. Bir taraftan endstri apnda geerli bir teknoloji ve bu teknolojinin balca arac olan bir dilin ad olarak SQL, dier taraftan Microsoft firmasnn bu teknoloji ve dili kullanan bir programnn adnda (SQL Server) kullanld iin, sadece Microsofta ve Windows ortamna ait sanlabilir. Bu doru deildir. SQL, bugn piyasada bulabileceiniz belli bal veritaban oluturma ve veri-ilem programlarnn ortak dilidir. 58 Microsoft Access, 1992 ylnda dnyaya geldi; ve ilk gnden itibaren tek bana bir veritaban oluturma ve ileme program olarak deil, fakat daha byk veritaban dosyalarna, veri bankalarna balanabilen ve oradaki verileri ileyebilen bir program olarak tasarland. Access 2000, Access Projesi (Dosya mensnden Yeni maddesini ve alan ablon kutusunda Proje (Yeni Veritaban) adl simgeyi tklayn) dosyalar oluturarak, SQL Server dosyalarna ulaabilir; bu dosyalarda SQL sorgular altrabilir. Iyi bir Access kullancs, bu programla byk veritaban mimarisine adam atabilir; ileri dzeyde veri-ilem tekniklerini renebilir. Veri Madencilii (Data Mining) teknolojileri, Online Analytical Processing (OLAP) teknikleri ve gnmzde veri ynlendirmeli Web uygulamalar, SQLe dayanan gelimelerdir. Accesste receiniz SQL, size bu teknolojilerie ilk adm atmay salayacaktr. Accesste SQLe ilk adm ise daha nce grdmz Szme ileminin son blmnde ksaca szn ettiimiz Gelimi Szme/Sralama arac ile atlabilir. Aslnda Accesste yaptmz seme veya Form yoluyla szme ilemleri, bir sorgu ilemidir; ancak bu sorgunun SQL komutunu (veya Accessin kulland kelimeyle, deyimini) Access kendisi oluturur. Gelimi Szme/Sralama (GSS), dier szme ilemlerine gre ileri saylrsa da, bir sorgu deyimi (SQL komutu) yazmann yannda basit saylabilir. Bu sebeple, tabir yerinde ise Accessin destekledii bir sorgu gelitirme ilemi olan GSSy sorguya giri konusu olarak ele alabiliriz. GSSy kavradmz anda sorgu tekniini kavram oluruz. Accessin sorgu teknii ise daha genel SQLe giri saylr. GSSnin bir sorgu arac olarak snrlamalar vardr. Sadece bir tablonun ierdii verilerle alabilir; birden fazla tablo veya baka sorgularn sonularn kullanamaz. Sonu itibariyle gSS de bir tabloda belirli ltleri karlayan kaytlar grnteleme aracndan baka bir ey deil; birden ok tabloda sorgu yapmak iin gerek sorgu aracn kullanp, gerek SQL komutlar yaszmamz gerekir. GSSte verilere sadece basit sorular sorabiliriz. (Daha gelimi sorgular iin, gerek sorgu aracn kullanrz.) GSS ile yapacamz szme sonunda grntlenen kaytlarn btn alanlar grntlenir; oysa gerek sorguda ortaya kacak yeni tablo veya formda hangi alanlar olsun istiyorsanz o alanlar olur. Bu snrlamalarna ramen (belki de bu yzden) GSS, Accesste sorguya giri iin mkemmel bir adm saylr. imdi bir tabloyu an ve Kaytlar mensnden nce Sz, sonra Gelimi Szme/Sralama maddesini sein. 59 Bu, eer bata tablo ekleyebilseydik, sorgu hazrlama penceresinin ta kendisi olurdu. GSS, belirttiimiz gibi sadece bir tablo ile alr; ve o tablo da seilmi olarak karmza gelir. Bu penceresi inceleyelim. stte, sorguda (pardon, szgete) kullanlacak tablo yer alr. Buraya alan listesi denir. Altta ise szgeci olutururken kullanacamz, imdilik bo olan, sorgu tasarm klavuzu yer alr. Burada sadece szme amacyla yararlanacak da olsak oluturacamz ey gerekten bir sorgudur. Bu blmde, Alan isimli birinci satrn birinci stundaki kutusunun iini, sada seme oku belirince oku tklayn: yukarda alan listesinde yer alan alan adlarnn burada sralandn greceksiniz. Sorgu, burada olduu gibi ileri dzeyde szme ilemi iin bile olsa, veriye soru sorulmas anlamna gelir. GSSde bir snftaki rencilerin snav notlarn ieren tablomuza rnein Son snavda 4,5dan aa not alm renciler kimler? diye sorabiliriz. Ya da yemek tariflerini derlediimiz bir veritabannda, Kebaplar tablosuna Iinde biber olmayan ve kyma ile yaplmayan kebaplar hangileri? sorusunu yneltebiliriz. Mzik kaset ve CDlerinizin veritabanndaki Trkler tablosuna Yavuz Bingln 1996dan sonra km kaset ve CDleri hangileri? diye sorabiliriz. Ya da elimizdeki Adres Defteri veritabannda Aile tablosuna Istanbul ve Nidede oturan ve kart yollamam gereken dostlarm kimler? eklinde bir soru yneltebiliriz. Bunun iin, Alan srasnn birinci stundaki kutusunun seme okunu tklayarak, alan listesinden ehiri sememiz gerekir. Sonra, GSSnin sadece szme deil ayn zamanda sralama yaptn hatrlayarak, ikinci sradaki Srala kutusunun sandaki seme okunu tklayarak, Artan, Azalan ve Srasz seeneklerinden Artan seelim. Ve sra geldi, szme iin uygulatacamz ltleri belirlemeye. lt satrnn iini tklayp Istanbul yazyoruz. Trnak iaretlerini siz koymazsanz, Access koyar. Istanbul VE Nidede oturan dostlarmz birlikte semek iin, alttaki VEYA satrna da Nideyazalm. Buraya kadar, tabloya soracamz sorunun birinci blmn sormu olduk: Istanbul ve Nidede oturanlar. imdi sorgunun ikinci blmne geliyoruz: Kart gndermem gerekenler. Ikinci blmdeki veritaban altrmasn yaptysanz, KartYolla alannn trn Evet/Hayr yaptmz hatrlyor olmalsnz. imdi, Alan satrnn ikinci stununda KartYolla alannn sein; (Evet deerlerinin sraya sokulmasna gerek olmadna gre ikinci satr atlayabilirsiniz) ve lt sarmna Evet yazn. Ara ubuundaki Szgei Uygula simgesi tklayn ve tablonuzun sadece Istanbul veya Nidede oturanlardan kendilerine kart yollamam gerekenleri gsterdiini, dierlerinin szldn ve szgecin dier tarafnda kaldn greceksiniz. 60 Kendi kendinizi kutlayabilirsiniz: nk sadece Accessin gelimi szme ve sralama aracn kullanmakla kaldk; SQL komutu yazmaya da ilk adm attk. imdi artk Accesste ciddi sorgulama ileri yapabiliriz. Sorgu, veriye soru sormaktr! demitik. Kimi zaman bir tablonun cevaplayabilecei sorular, szme ve hatta sralama ile zmleyebiliriz. Fakat elde iki veya daha ok tablo varsa ne yapanz? Diyelim ki, siz sadece bir snfn deil, be ayr snfn retmenisiniz ve snflarnzda baar orann etkileyen garip bir eilim farkettiniz. Sizin derslerinizde kz renciler genellikle baarsz oluyor. Sadece bir snfn retmeni olsanz, bu kukunuzun yerinde olup olmadn snamak iin iki szme ilemi size sonucu verirdi. (Nasl?) Fakat be ayr snf sz konusu olunca, her tablonun kendi iindeki yzdeler, anlaml olmayabilir. Size btn tablolardan seme-szme yapan bir ara gerekiyor. Ya da be tabloya birden soru sormanz salayacak bir ara. Bu aracn ad Sorgudur. Access'in #or5ular aldmz Gelimi Szme/Sralama aracnn birden fazla tablo kabul edebilenidir. apraz sorgu, verileri gruplandrarak, bunlar iin saym, toplam ve ortalama gibi hesaplar yapar. rnein rencileri cinsiyetlerine ve derslere gre gruplandrp, aldklar not ortalamalarn gstermek., apraz tablo yapmaktr. apraz sorgu bir tabloda alt iin, rnein rencilerinizin notlar derslere gre ayr tablolarda ise bunlar bir tabloda basit seme sorgusuyla birletirmeniz gerekir. Tablo yapma sorgusu, seme sorgusundan farkl olarak, alt zaman ortaya bir tablo penceresi kmaz; Access, sizden daha nce ald isimle bir tablo oluturur. Bu tablo veritabannn paras haline gelir. Oysa dier sorgularn sonular ancak sorgu alt srada vardr. Gncelletirme sorgusu, sorgu tasarm srasnda verdiiniz bir sabit deeri veya verdiiniz bir deyimin o srada bulunacak sonucunu, tayin ettiiniz bir alana yazar. Bu, Bul-Deitir gibi basit bir ara olmayp, her kayd, belirli bir formle veya kydn kendi iindeki bir deere gre yeniden hesaplayabilir. Ekleme ve Silme sorgular da gncelletirme sorgusu gibi, ya farkl tablolarn kaytlarn birbirine ekler, ya da tablolardaki kaytlar siler. Bunlarn dnda tasarm srasnda yklediiniz ilevlerin bir sonucu olarak bir sorgu Parametre sorgusu (verdiiniz grevi yapabilmek iin kullancdan bir deer girmesini isteyen sorgu), SQL Sorgusu (SQL komutlarn kullanarak birleim, dorudan sorgu, veri tanmla ve alt sorgu gibi veritabannz ODBC yoluyla dardan kullanacak kullanclar gznnde tutarak 61 hazrladnz sorgular) ve otomatik arama sorgusu (yeni bir kaydn baz alanlarnn otomatik olarak doldurulmasn salayan sorgu, AutoLookup sorgusu) diye de adlandrlabilir. Basit Seme Sorgusu (BSS) dndaki sorgular, ileri dzeyde Access bilgisi ve hatta bir lde Programlar Iin Visual Basic (VBA) bilgisi gerektirebilir. BSSyi iyi kavrayarak, bu ileri dzeydeki sorgular iin mkemmel bir balang yapabilirsiniz. BSSin temel zelliklerini sralarsak, unlar karmza kyor: 1. Sorguda birden fazla tablo kullanabilirsiniz; tablolar arasnda oluturduunuz ilikiden yararlanabilirsiniz. 2. Sorgu sonucu sadece istediiniz alanlar grntleyebilir; bu srada gerekli olmayan stunlar yeni sorgu sonucu tablosuna almayabilirsiniz. 3. Sorgu sonucu oluacak tabloda alanlar istediiniz stun srasna sokabilirsiniz. 4. Seme ilemi sonucu ka kaydn grntlenmesini istiyorsanz, o kadar kayda yer verebilirsiniz. 5. BSS (ve dier) sorgular icra ettikten sonra, sorguya konu olan tablolarn deerlyeri deimez; baka bir deyile sorgular tablolar sadece okur, ieriini deitirmezler. Bir sorgu iledikten sonra tablo oluturuyorsa (Tablo Yapma Sorgusu ise) ortaya yeni bir tablo kar. Sorguyu tekrar altrdnzda bu tablo yeniden yazlr ve Access 2000, zelletir kutusunda yaptnz uyar ayarlarna gre sizi uyarabilir. Ikinci blmdeki Adres Defteri altrmasn yaptysanz, bu veri tabann an ve birlikte bir BSS oluturalm. Adres Defteri veritabann oluturmad iseniz, aadaki admlar kendi veritabannza uygulamak zorundasnz. Burada yapmak istediimi i veya Access 2000e sormak istediimiz soru u: Istanbulda oturan ve ocuu olan dostlarmz kimler, ocuklarnn ad ne? Veritaban dosyas aldnda, veritaban penceresinde, nesneler listesinde Sorgular satrn tklayn. Sorgular penceresinde Tasarm grnmnde sorgu olutur ve Sihirbaz kullanarak sorgu olutur eklinde iki ksayol greceksiniz. Pencerenin ara ubuundaki Yeni dmesini tklarsanz, karnza daha ok imkan sunan bir sihirbazn ilk admn ieren bir kutu alacaktr. Bu kutudaki Basit Sorgu Sihirbaz maddesi, Sorgu nesnesi penceresindeki Sihirbaz kullanarak sorgu olutur ksayolu ile ayn sonucu verir. Ister Yeniyi tklayp alan kutudan Basit Sorgu Sihirbaz maddesini sein, ister Sihirbaz kullanarak sorgu olutur ksayolunu tklayn. 62 BSS sihirbaznn ilk penceresinde hangi alanlarn sorguda bulunmasn istediinizi belirtmeniz gerekir. Bir sorgu sadece tablodan deil sorgu sonucundan da seme yapabilir; dolaysyla sol stteki semeli listede veritabannzda mevcut btn tablolar ve sorgular sralanr. Bu listede seilmi olan tablo veya sorgunun ierdii alanlar ise sol altta kullanlabilir alanlar listesinde yer alr. Veritabanmza soracamz sorunun birinci blm Istanbulda oturan dostlarmzn seilmesi olduuna gre, bu kiilerin kaytl olduu Aile tablosunu semek zorundayz. Bu alanlardan hangileri BSS sonucu oluturulacak tablomuzda yer alsn istiyoruz? Bir kere dostlarmzn adn ve soyadn sememiz gerekir. Seilecek kiilerin tmnn Istanbulda oturanlar olmas iin ehir alannn da seilmesi art. Bunu yapmak iin arzu ettiimiz alann adn bir kere tkladktan sonra ortadaki dmelerden en stte olan saa doru tek oklu dmeyi tklyoruz. Soldaki alanlarn tmnn sorgu srasnda kullanlabilir olmasn isteseydik, ikinci sradaki iki oklu dmeyi tklamamz gerekirdi. Bir alan yanllkla saa geirirsek, nc sradaki sola doru tek oklu dmeyi tklayarak sorguda kullanabileceimiz alanlar listesinden kartrz. Bu alanlarn tmn sorgu listesinden kartmak iin el alttaki iki oklu dmeyi tklayabiliriz. Veritabanna sorduumuz sorunun ikinci blm, Istanbulda oturan dostlarmzdan sadece ocuklar olanlarn seilmesini, nc blm ise ocuklarn adlarnn da listelenmesini gerektirdiine gre, bize ocuklar tablosu ve bu tablodaki ocuk adlar alan da gerekiyor. imdi Tablolar ve sorgular kutusunun seme okunu tklayarak alan listeden ocuklar tablosunu seelim, sonra da bu tablonun Ad adl alann saa aktaralm. Ama hemen Ileri dmesini tklamayn. imdi bir an iin kendimizi Access 2000in yerine koyalm: Biraz sonra bir seme ilemi yapacaz; ocuu olan ve Istanbulda oturan kiileri seeiz. Istanbulda oturanlar semek kolay: Eer ehir alanndaki deer Istanbul ise bu kiiyi seebiliriz. Peki bu kiilerin ocuu olup olmadn nasl bilebiliriz? Veya yle soralm: bu kiilerin ocuklar varsa bunlar ocuklar tablosunda nasl belirleyebiliriz? Bu iki tablo arasnda iliki salayan alanla! Veritaban tasarmnda en zor nokta, tablolarda gereksiz yere tekrar nlemek amacyla alanlar baka tablolara aktarmak gerektiinden sz ettiimiz srada, tablolar arasnda iliki kurmamz gerektiini belirtmitik. Ikinci blmden hatrlyorsanz, Aile tablosuyla ocuklar tablosu arasndaki ilikiyi, yani hangi ocuun hangi aileye mensup olduunu Aile Sra No alanndaki bilgiyi iki tabloda ortak kullanarak biliyoruz. Baka bir deyile bir ocuun Aile Sra No alanndaki deer, bu ocuun hangi ailenin yesi olduunu gsteriyor. Sorgu srasnda Access 2000, yle dnebilir: Hmm. Istanbullu bir 63 kiiyi seeyim; sonra bu kiinin Aile Sra No alanndaki deeri, ocuklar tablosundaki ayn adl alanda arayaym; eer bu iki deer ayn ise bu ocuun adn alp, Istanbullu kii ile birlikte kaydedeyim. Accessin dndn uygulayabilmesi iin, ona her iki tablodan Aile Sra No alann da vermemiz gerekir. O halde nce ak olan ocuklar tablosunun, sonra da yeniden Aile tablosunu seerek, Aile Sra No alanlarn saa aktarn. Bu kutuda iimiz bittiine gre Tamam tklayabilirsiniz. (Sorgu ka tablodan ka alan semeyi gerektiyorsa, o kadar alan seebilirsiniz. Buradaki rnek bu alanlar gerektirdii iin burada duruyoruz; sizin rneiniz baka tablolardan baka alanlar gerektiyorsa, semeye devam edin.) Basit sorgu sihirbaznn ikinci penceresi, sorgu sonucu oluturulacak tabloda ka kayt olacan belirler. Varsaylan deer, setiiniz tablolardaki tm kaytlarn sorgu sonucu oluacak tabloya alnmasdr. Fakat diyelim ki size sorgu sonucu oluacak tablonun ilk 5, 25 veya 100 kaydn ieren zet bir tablo da oluturabilirsiniz. zet tablo iin zetk seeneini sein ve zet Seenekleri dmesini tklayn. Bu i bittikten sonra veya Ayrntl seeneini seerek, Ileriyi tklayabilirsiniz. nc pencerede yeni sorgunuza isim vermeniz, Sonu tkladnzda sorgunun icra edilmesini mi, yoksa sorguda sihirbazn yapmad deiiklikleri yapmak zere tasarm grnmnn almasn m istediinizi belirtmeniz gerekir. Burada yardm isteyip istemediinizi belirteceiniz bir baka seenek daha var. Tasarm g sorgular yaptnzda, Access 2000in yardm penceresinin alm olmas size kolaylk salar. imdi, sorgunun tasarm ile ilgili ilerimiz bitmedii iin ikinci seenei iaretleyerek Sonu tklayalm. Access 2000, setiiniz iki tabloyu sorgu tasarm penceresinin st blmnde gsteriyor. Iki tablo arasndaki iliki izgisine dikkat edin; bu ilikiyi ikinci blmdeki altrma srasnda kurmutuk. Access, setiiniz alt alan, deerleri ne olursa olsun, btn kaytlar ile semeyi (ve bunu yaparken iki tabloyu birletirmeyi) salayan bir sorgu tasarm neriyor. Btn alanlarn seildiini, sorgu tasarm penceresinin alt yarsndaki klavuzda, Alan satrndaki alan adlarndan anlyoruz. Bu satra yazlan alan adlarn inceleyin; tablo ad ile tablonun alan ad nasl birletiriliyor? Ikinci satrda ise tablonun ad belirtiliyor. Srala satrnn bo brakldna dikkat edin. Gster satrndaki kutularn iaretli olmas bu alann sorgu sonucu oluturulacak tabloda gsterilecei anlamna geliyor. Ve son olarak lt satrlarnn bo olduuna dikkat edin. 64 Biz sorgumuzun sadece ocuklar olan Istanbullular kapsamasn istiyorduk. O halde, ehir alannn stununda, lt satrna Istanbul yazmamz gerekiyor, ki sadece Istanbullular seilsin. Peki bunlar arasndan ocuklar olanlar nasl seeiz, Access ile alma konusunda ustalnz ilerledike, bu tr artl semeleri (SQL deyiminde eer art geen sorgular) oluturma becerisi de edineceksiniz. Fakat imdilik byle bir sorgu deyimi oluturmaya gerek yok: Access, ocuklar listesindeki Ad deerlerini seerken, bunlarn Aile Sra No deeri Aile tablosunda Aile Sra No deerine denk gelmeyen kaytlar semeyecektir. (Aile tablonuzda ocuksuz Istanbullu dostlarnz, ocuklar tablosunda da Istanbullu ailelere mensup olmayan ocuklar bulunmasn salayn, ki BSSin gerekten ileyip ilemediini snayabilelim.) imdi sorgu tasarm penceresinde ehir stununda lt satrna Istanbul yazn. Sorgu sonucu oluacak yeni tablomuzda iki ayr Aile Sra No stununa gerek olmad iin ocuklar tablosundan alnacak Aile Sra No stununun Grntle satrndaki iareti kaldrabiliriz; fakat BSSin tablonun iliki bandan nasl yararlandn grmek iin imdilik bu iareti kaldrmayn. zetle, Access 2000 BSS sihirbaznn tasarmna sadece ehir alannda lt olarak Istanbul kelimesini eklemi olduk. Bu srada Access 2000in ara buuunda nlem iareti eklinde bir simge belirdiini gryor musunuz? altr isimli bu ara, Access 2000e Bu sorguyu icra et ve sorduum sorunun cevabn bana tablo alarak gster! komutunun ksayoludur. imdi bu simgeyi tklayalm. Ite sorumuzun cevab: Aile listemizde yer alan ehir alanndaki deer Istanbul olan ve ocuklar tablosunda kendilerine ait ocuk bulunan dostlarmzn listesi! Access ile alma becerinizi arttrdka, her ocuu mensup olduklar aile ile ayn satra ocuk 1, ocuk 2 ... eklinde yeni stunlar halinde sralamay da salayabilirsiniz. Bu sorgunun verdii sonular doru bulmuyorsanz, tekrar tasarm grnmne dnebilirsiniz. Bunun iin Access 2000 ara ubuunda tasarm grnm simgesini tklayn. Sorgunun tasarmnda istediiniz deiikleri yaptktan sonra altr simgesini tklayabilirsiniz. Sorgunun istediiniz sonucu verdiini grdkten sonra kapatmaya kalktnzda Access 2000 sorguyu veritaban dosyasnn iinde kaydededecektir. Bir BSS tasarlamaya altnz srada setiiniz tablolar ilikili deilse, Access 2000 sizi uyarr ve bu ilikiyi kurmadan devam etmek istemez. Sorgu tasarm srasnda setiiniz tablolar arasndaki iliki izgisini silerek sorguyu altrrsanz, anlaml olmayan sonular alrsnz. 65 Access ile tabir yerinde ise bu kadar uramanzn bir sonucu olmas gerekir. Bu sonuca Rapor denir. Ilk veritaban ilem program tasarlandnda ad Tablo ve Rapor Uygulamas idi; rapor ilk gnden beri veri-iilemin ayrlmaz paras olagelmitir. Access 2000 de bu gelenein dnda deildir: u ana kadar farketmi olduunuz gl veri-ilem aralarnn ayn etkinlikle bu verilerin rapor haline getirilmesinde de kullanldn greceiz. Access 2000, raporlarn tablo ve sorgulardan elde eder, ya otomatik olarak, ya da sizin talimatnzla biimlendirir ve veritabannn bir nesnesi olarak veritaban dosyasnn iinde kaydeder. Bu raporlar Ofis 2000 ailesinin dier yeleri olan Excel ve Word ile paylaabilirsiniz. Access 2000nin veritaban penceresinde tablolar, formlar ve sorgular gibi raporlarn da ayr bir nesne grubu halinde toplandn, Tasarm grnmnde rapqor olutur ve Sihirbaz kullanarak rapor olutur eklinde iki ksayol bulunduunu greceksiniz. Raporlar nesne grubunu setiinizde veritaban penceresinin Yeni dmesi, bu iki ksayola ek olarak, drt ayr rapor sihirbazn daha kullanma imkan salar. Bunlarn arasndaki iki otomatik rapor arac belki de en sk kullanacanz rapor elde etme yntemi olabilir. Bu iki yntemde Access 2000 sizin iaret edeceiniz tablo veya sorgudan elde edecei raporu kendisi biimler. Dier sihirbazlar ve tasarm grnmde rapor oluturma yntemlerinde ise raporunuza siz ekil verirsiniz. Rapor, ana hatlaryla tanmlarsak, bir tablo veya sorgunun alanlarnn, alan adlar ile birlikte kat zerinde yerletirilmesi demektir. imdi OtoRapor ve kendi tasarlayacamz raporlar ayrntl ele alalm. Burada grdnz Otomatik Rapor: Stunlu ve Otomatik Rapor: Sekmeli sihirbazlar, OtoRapor tekniini kullanrlar. OtoRapor yoluyla her iki yntemde de sadece bir tablonun veya sorgunun ieriini baskya hazr hale getirirebilirsiniz. Bununla birlikte ortaya kacak rapor farkl olur. Sekmeli OtoRapor: her kayd bir sraya koyar; her alan saa doru stunlar halinde dizilir. Alan adlar, stun bal olarak kullanlr ve ou zaman btn adlarn kada smas amacyla ksaltlr. Stun genilikleri, btn veriyi sdracak ekilde ayarlanr. Stunlu OtoRapor: her kayt sayfa zerinde bir grup oluturur; alan adlar solda, alan ierikleri sada iki stun halinde dizilir. Bir kaydn alan says ve ierikleri bir sayfaya yakn yer tutuyorsa, Access 2000 ikinci kayd yeni bir sayfada balatabilir. 66 Ne zaman hangi OtoRaporun kullanlabileceine ilikin bir kural koymak zordur. Baz veri trlerinde ve tablo yaplarnda stunlu, dierlerinde sekmeli raporun ie yaradn greceksiniz. Genel bir ilke olarak, ok kayt, ok alan ve alanlarda ksa veriler bulunan tablolarn Sekmeli; az kayt, az alan fakat alanlarda uzun bilgiler bulunan tablolarn ise stunlu biime daha elverili olduunu syleyebiliriz. Tablonuza hangi otomatik raporun uygun dtn snayarak bulabilirsiniz. Access 2000 OtoRaporlar, Windowsun varsaylan yazcsni ve yazcnn o andaki kat boyutu ayarlarn dikkate alarak biimlendirir. Kimi raporlar asndan kadn dikey veya yatay olmas nem tayabilir. OtoRaporu yeniden oluturmak ve yazcya gndermeden nce Access 2000 iinden yazc ayarlarn deitirmek mmkndr. Ayrca Access 2000, raporunuzun birden fazla sayfaya blnmesi halinde stunlarn nce yatay sonra dikey, veya nce dikey sonra yatay yazdrlmas gibi ince ayarlara da imkan verir. nc blmde sorgular ele alrken, bir tablonun farkl alanlarn birletirerek Adres Listesi adl bir tablo oluturmutuk. imdi bu tabloyu iki yntemle otomatik rapor haline getirelim ve farkn grelim. Bunun iin veritaban penceresinde nesnelerden Raporlar ve ara ubuundan Yeni simgesini tklayn. Burada, stte Otomatik Rapor: Stunlu seeneini setikten sonra veri kayna kutusunun seme okunu tklayarak, veritabannda mevcut btn tablo ve sorgular gsteren listeden, Adres Listesi tablosunu sein. Ikinci blmde Adres Defteri veritabann oluturmadysanz veya nc blmdeki sorgu altrmasn yapmadysanz, iinde iki alanl tablo bulunan herhangi bir veritabann kullanabilirsiniz. Tamam tkladmzda, Access 2000, tablodaki verileri kullanarak otomatik tablomuzu bask nizleme penceresi halinde grtleyecektir. nc blmdeki sorgu altrmasn yaparken sorgunun oluturduu yeni tabloda, alan ad olarak Deyim1 ve Deyim2 kelimelerinin seildiine dikkat etmitik. imdi bu adlarn yeni raporumuzda kullanldn gryorsunuz. Bu adlar raporu tasarmn grmnde aarak dzeltebilirdik. Fakat ge kalm deiliz; OtoRapor da, btn otomatikliine ramen, dzenlenebilir niteliktedir. Buna sonra dneceiz. Raporu incelemeye devam edersek, her bir kaydn bir rup oluturduunu gryoruz. Alan adlar birinci stunda. alan deerleri ikinci stunda ve btn alanlar bir grup oluturacak ekilde altalta dizilmi bulunuyorlar. Bu arada Ara ubuuna da dikkat edin. Access 2000, raporu yazdrmak amacyla hazrladnz dnerek, size bask nizleme penceresini am bulunuyor. Dalysyla ara ubuunda 67 tasarm grnmne gemek gerekli simgenin yannda Yazc simgesini, raporu ekranda eitli byklklerde ve sayfa saysnda grmenizi salayacak denetim simgilerini ve bu raporun szgelimi Office 2000 ailesinin dier yelerinden Microsoft Word kelime ilem program ile paylamay salayacak Ofis Balantlar simgesini greceksiniz. Ilk raporunuzu kat zerinde grmek iin yazc simgesini tklayabilirsiniz. Bir Access 2000 raporunun Word 2000de nasl grndn ve nasl dzenlenebildiini Ofis Balantlar simgesini tklayarak inceleyebilirsiniz. Hatta otomatik raporun otomatikliine mdahale ederek, tasrm iini bu noktadan itibaren devralabilirsiniz. Ama buna sonra geleceiz; imdi bir de Sekmeli OtoRaporu grelim. Iki raporu yanyana inceleyebilmek iin imdilik Access 2000in otomatik olarak kltt veritaban penceresini eski nceki boyutuna getirelim, ve bu kez sekmeli OtoRapor aracn kullanalm. Veritaban penceresinde hal Raporlar nesnesi seili olmal; Yeni simgesini tklayn ve Otomatik Rapor: Sekmeli yntemini iaretleyerek ve Adres Listesi tablosunu (veya biraz nce kullandnz tabloyu) seerek, Tamam tklayn. Bu kez Access 2000, alan adlarn stunlar haline getirecek ve her bir kayt raporda bir satr olacaktr. Her iki raporda da Tablo adnn sayfann bal olarak kullanldna, sayfann altnda ise gnn tarihi ve sayfa numarasnn yer aldn gryorsunuz. Bu raporda da tablodaki alan adlar stun bal olarak kullanlyor. Bu noktada verimize hangi rapor biiminin daha uygun dtn de kararlatrabiliriz. Buradaki rnekte, kiilerin adlar ile adreslerinin ayn satrda gsterildii Sekmeli yntemle yaptmz rapor daha kullanl bir liste grnm veriyor. Fakat bir kaydn btn alanlarnn byle dzgn biimde sekmelerle ayrlmas mmkn olmayabilir. Burada sadece iki alan var ve alanlarn ierikleri olduka az. Alan ierikleri uzun olsayd says arttka stunlu biim veriye daha uygun olabilir, her bir kald kendi grubu iinde topluca grmek daha kullanl olabilirdi. OtoRapor gl bir ara olmakla birlikte, tablo halinde uygun grnd halde belge haline dnnce uygun olmayan sayfa veya stun balklar kullanabilir. Veritabann tasarlayan kii olarak Deyim1 bizim iin anlam ifade edebilir; fakat raporu sunduumuz kii asnda burada, sz gelimi Mterinin Ad ve Soyad eklinde bir stun bal bulunmas daha uygun debilir. OtoRaporun tasarmna nasl mdahale edebileceimizi ikinci raporda grelim.Bask nizleme penceresinin ara ubuunda, Tasarm grnm simgesini tklayn; Access 2000 raporun tasarm penceresini aacaktr. 68 Ara kutusu ve tasarm klavuzu ile bu grnm, form oluturduumuz pencereye ok benziyor! Access 2000in tasarm ara kutusu, form ve rapor tasarmlarnda ayn ilevi yapar. (Formlarn da yazdrlabildiini hatrlayn!) Iki tasarm grnmnn arasndaki balca fark, form tasarmnda her formda tekrar eden sayfa st bilgisi ve sayfa alt bilgisi blmleri ancak siz isteyince oluturulduu halde, raporlarda bu iki blm varsayln unsur olarak yer alr. Bizim u anda yapmak istediimiz, Deyim1 eklindeki stun baln Ad Soyad, Deyim2 eklindeki stn baln ise Adresi olarak olarak deitirmekten ibaret. Bunun iin, tasarm penceresinde Sayfa stbilgisi blmnde Deyim1 kelimesini Mouse iaretisi ile tarayn ve yerine Ad Soyad yazn. Raporun mevcut unsurlarndan birinin, rnein Deyim1 kelimesinin bulunduu kutuyu tkladnnzda kutunun evresinde seildiini gsteren tutamak iaretlerinin belirdiini ve Mouse iaretisini bunlardan sol st kede dierlerinden byke olannn stne gtrdnzde iaretinin el ekline girdiine dikkat edin. Bu, kutuyu tutarak istediiniz yere tayabileceinizi gsterir. Daha sonra Deayim2 kelimesinin yerine de Adresi kelimesini yazn. Bu arada raporun Ayrnt blmnde tablodan alnan Deyim1 ve Deyim2 alanlarnn yer aldna, sayfann altndaki gnn tarihinin Now() deyimi ile, Sayfa 1/1 yazsnn ise ="Sayfa " & [Page] & " / " & [Pages] deyimi ile elde edildiine dikkat edin. Now(), [Page] ve [Pages] deyimleri, Access 2000in tand VBA (Visual Basic for Applications, Uygulamalar iin Visual Basic) dilinden alnma kodlardr. Stun balklarn deitirme ilemini tamamladktan sonra, ara ubuunda bask nizleme simgesini tklayn; raporun baslnca alaca biimi yeniden greceksiniz; fakat bu kez stun balklar daha anlaml hale gelmi olacak. Access 2000in OtoRapor yetenei ne kadar gl grnse de, rapor oluturma konusunda asl marifetinin sihirbazlar eliyle oluturabileceiniz etiket ve grafik raporlarnda ortaya ktn greceksiniz. Bu yetenei yakndan grmek iin rnek olarak tebrik kartlarmzn zarfna yaptrmak zere adres etiketleri oluturalm. /ti.et #atnalma"an &nce Access 2000, piyasada rahata bulabileceiniz adres, dosya, gnderme ve isim etiketlerinin ounu tanr ve verinizi bu etiketlere gre biimlendirebilir. Access ile etiket oluturmaya balamadan nce bu tr malzemelerin satld bir maazadan ihtiyacnza uygun ne tr etiketler bulunduunu renin. Etiketleri satn almadan nce bulabildiiniz mark ve modelin Access tarafndan tannan etiketler 69 arasnda bulunup bulunmadn kontrol etmelisiniz. Bunun iin herhangi bir veritaban dosyasn an ve Etiket Sihirbazn altrarak, imalat adn ve rn numaralarn kontrol edin. Access 2000, 12 kadar imalatnn bine varan etiket modelini tanyabilir. Elinizde Access 2000 tarafndan tannmayan etiket stoku varsa ve bunlar kullanmak zorunda iseniz, Etiket Sihirbaznn ikinci admnda zelletir dmesini tklayarak kendi etiket boyutlarnza uygun bir ablon oluturabilirsiniz. Etiket sihirbaz, Raporlar penceresindeki Yeni simgesi tklanarak ve alacak kutuda Etiket Sihibarbaz satr seilerek arlr. Bu pencerede kendinize bir de tablo semeniz gerekir. Etiket sihirbaznn aslnda bir sorgu arac olduunu grebilmek iin, bu kez kolay bir veri tablosu deil fakat etiketin zerindeki bilgileri bir ok alandan toplayacamz nisbeten karmak bir veri tablosu seelim. rnein, Aile tablosu, bu amala kullanlabilir. Bu altrmay yapmadysanz, ok alanl, fakat alan ieriklei ksa bir tablo seebilirsiniz. Tabloyu setikten sonra Ileri dmesini tkladnzda, Sihirbaz etiket tr semenizi isteyecektir. Elinizde gerekten yazcnza uygun etiket varsa ve bu etiket Access 2000 tarafndan tannyorsa, nce Imalat blmnde etiket yapmcsnn adn, sonra yukardaki listeden etiketlerinizin rn numarasn sein; etiketlerinizin gerekten yaptnz seime uygun boyutlarda olup olmadn setiiniz rnn karsndaki boyut llerini etiket kutusunun zerindeki llerle karlatrabilirsiniz. nc admda etiketin grnmyle ilgili seim yapmaya balyoruz; nce etiketimizde kullancak yaz tipini sememiz gerekiyor. Beendiiniz bir yaz tipini, etiketinize uygun punto lsn, yaz zelliini (kaln, italik, altizgili), ve rengini sein. Drdnc admda iin zevkli taraf balyor: etiketin ieriini oluturuyoruz. Setiimiz tabloda mevcut alanlar, alan listesinde greceksiniz. nce Ad alann sein ve ortadaki saa ok simgeli dmeyi tklayn; sonra klavyede aralk tuuna bir kere basn ve solda Soyad alann seip, ortadaki oklu simgeyi tklayn. imdi klavyede Enter tuuna basn; ekrandaki etiket rneinde imlecin aa satra indiini greceksiniz. Alan listesinde Adres1i sein ve oku tklayn; tekrar klavyede Entera basn. Imle bir aa satra inince, alan listesinde Adres2yi sein; oklu simgeyi tklayn; Entera basn. Ve imle drdnc satrda iken sada ehir alann sein ve oklu simgeyi tklayn. Etiket inas bitti! 70 Ileriyi tklayarak, beinci adma geebilirsiniz. Bu admda etiketlerin nasl sralanacan belirleyeceiz. zellikle postaya vermek zere zarf ve paket zerine yaptrlacak veya bir toplantda katlmclarn ggslerine takacaklar isim etiketlerini hazrladnz zaman bu nem tayabilir. Sonu tkladnzda raporunuz baslmaya hazr ekliyle karnza gelecektir. Access 2000in etkiketleri hangi sraya gre basmasn istiyorsanz, bu alann adn iaretleyin ve ortadaki oku tklayn. Diyelim ki bir konferansa katlacak kiilere isim etiketleri hazrlyorsunuz; katlmclarn kayt srasnda isim etiketlerini nce soyadlarna, sonra da adlarna gre sraya sokarak datm kolaylatrmak istiyorsunuz. nce Soyad, sonra da Ad alanlarn ve oklu simgeyi tkladnzda Access 2000 etiketleri yazcya nce soyad alannn ieriine gre sralayacak, sonra da bunlar kendi ilerinde adlara gre sraya koyacaktr. Bu surette oluturduunuz bir etiketi tasarm grnmnde aarak, biimini deitirebilir, arzu ediyorsanz btn etiketlerde ayn konumda baslacak bir grafik resim de yerletirebilirsiniz. Bunun iin tasarm grmn atnzda belirecek ara kutusundan Resim aracn semeniz ve etikette resmin almasn istediiniz yeri tklamanz yeterlidir. Resim arac, disk veya disketlerinizde aradnz grafik dosyasn bulmanza yardmc olacaktr. Access 2000in rapor sihirbazlarndan grafik sihirbaz ise bir tablodan en az iki, en fazla alt alandaki verileri alarak, raporlarnza Excel tr istatistiksel grafikler koymanza yardmc olur. Access 2000n OtoRapor sihirbazlarnn bir eksii, bir tablonun verisi ile rapor hazrlamalardr. Geri ok acele rapora ihtiyacnz olduunda nce farkl tablolar bir sorgu ile birletirip, OtoRapor sihirbazna bu sorguyu kaynak olarak kullanmasn bildirebilirsiniz, fakat yle anlar olabilir ki ok kaynaktan ok veri kullanarak raporlar hazrlamanz gerekir. Accessin Rapor Sihirbaz bu gibi durumlarda istediiniz kadar tablodan istediiniz kadar alan bir raporda birletirmenizi salayacaktr. ok tablolu rapor hazrlamak iin de veritaban penceresinde nesnelerden Raporlar ve ara ubuundan Yeni simgesini tklamanz gerekir. Alacak sihirbaz, daha nceki rapor sihirbazlarna benzemekle birlikte fark ikinci pencerede greceksiniz. Birinci pencerede raporda kullanacanz veri tablosunu semeniz gereken kutuy bo brakarak, Ileri dmesini tklayn. 71 Bu sihirbaz, daha nce benzerini ileri dzeyde tablo, form ve sorgu olutururken grdmz trden, birden fazla tablodan alan semenize imkan verir. imdi Tablolar Sorgular hanesinde, Aile tablosunu seelim (bu tabloyu ieren Adres Defteri veritabann yapmadysanz, herhangi bir veritabanndan herhangi bir tabloyu seebilirsiniz). Kullanlabilir alanlar kutusunda bu tablonun alanlar belirmi olmal. Ad, Soyad ve Einin Ad alanlarn, sadaki Seili Alanlar kutusuna aktarn. Sonra, Tablolar-Sorgular kutusunda ocuklar tablosunu sein ve bu tablonun alanlarndan Adn Seili Alanlara aktarn. Bu sihirbaz istediiniz kadar tablodan istediiniz kadar alan rapora almanza imkan verir. imdi Ileri dmesini tklayn. Bu kez Sihirbaz, raporu nasl grntelemek istetediinizi soruyor. Birden fazla tablodan alan setiinizde bu alanlarn birbirine ile ilikili olmas gerekir. Aksi taktirde Access, hangi alann verilerinin hangi alana gre yerletirileceini bilemez. Bu pencerede, her ne kadar bozuk bir Trke ile de olsa, Access 2000 verilerin setiiniz tablolardan hangisine gre sralanacan sormaktadr. Bizim rneimizde Aile tablosundan aldmz bilgiler esas, ocuklar tablosundan aldmz bilgiler Aileye gre anlam tad iin, verilerimizin Aile tablosuna gre sralanmas gerekir. Nitekim, byle bir sralamada, Aile tablosunun bilgilerinin st grupta, ocuklar tablosunun bilgilerinin alt grupta toplanacan sadaki rnek dzenlemede gryoruz. Ileri dmesini tkladmzda, Access 2000 bu kez verileri bir alana gre gruplamak isteyip istemediimizi soracaktr. Buradaki rnekte aileleri soyadlarna gre gruplayabiliriz. Fakat i dnyasndaki rneklerde firmalarla ilgili bilgilerin firma adna gre gruplanmas, veya bir firmann satnalma raporunda btn bilgilerin satnalnan maln envanter numarasna gre gruplanmas mmkndr. Bylece bir bakta hangi tr mal hangi firmalardan aldmz grebiliriz. Buradaki rnekte, Aile tablosundan alnan Soyad alanna gre gruplama talep edebiliriz. Bu durumda kaytlarmz ailenin soyadna gre, kiinin ad, einin ad ve ocuklarnn adlar eklinde beklere blnecek demektir. Ileri dmesini tkladmzda verilerimizin ayrnt blmnn (rneimizde bu blmde sadece ocuk adlar var; fakat ok daha fazla bilgi bulunabilirdi) hangi alanlara gre sralanmas istediimizi belirlediimiz pencereye geliyoruz. Bu rnekte ocuk adlarna gre sralamann fazla bir anlam olmad iin Ileriyi tklayabiliriz. Fakat baka rneklerde kaytlarn da kendi ilerinde sralanmas uygun olabilir. imdi raporun sayfa dzeni ile ilgili penceredeyiz. Sayfada yer alacak unsurlarn yerleim dzenini belirlediiniz Yerletir blmndeki farkl 72 seenekleri tklayarak, raporun biiminin nasl deitiine dikkat edin. Raporun kada dikey veya yatay baslmasn da buradaki ynlendirme seenei ile salarz. Kimi zaman bir bek veri (bir soyadndaki kii, e ve ocuk adlar; bir firmann o firmaya ait btn alanlar, vs.) ayn sayfaya smayabilir. Bu durumda Access 2000i btn alanlar ayn sayfaya sdrmak zere biraz fazla aba harcamaya sevkedebilirsiniz. Eer bu sayfanz ok skk bir grnme zorlarsa, daha sonra bundan vaz gemeniz ve raporun tasarmn yeniden yaparak, bir alan grubunun bittii yere sayfa sonu komutu koymanz mmkndr. Bizim rneimizde Anahat 1 adl yerleim dzeni daha uygun olacaktr. Bu seenei ve Ileri dmesini tklayalm. Access 2000 imdi raporun nihai grnm iin bizden bir stil sememizi istiyor. Access bize kullanlmaya hazr alt ayr rapor stili sunan. Bunlarn adn setiinizde raporunuzun yaklak nasl grneceini soldaki rnek kutusunda grebilirsiniz. Bu pencerede arzu ettiiniz bir stili seip, Ileriyi tklayn. Ve son ekranda raporunuza bir isim verdikten sonra, sihirbaza ya tasarm, ya da bask nizleme penceresini amasn bildireceksiniz; nizlemeyi seerek, Sonu tklayn. Raporun grnmn belki beenmemi olabilirsiniz, ama adres defterinizdeki isimlerin soyadna gre tasnif edilmesi ve isimlerin, elerin ve ocuklarn adlarnn bir bek halinde toplanm olmasn etkileyici bulacanza kukum yok. Sayfa dzeninin beenmediimiz taraflarn tasarm grnmnde annda dzeltebiliriz. Buradaki rnekte, alan adlarnda Trke karakter kullanmaktan kandmz iin olan ve imdi hata gibi grnen (Soyadi gibi) geleri dzeltebiliriz; ayrca soyad deerlerinin dier isimlerle soldan hizalanmasn salayabiliriz. rnein, isimlerin etrafndaki ereveleri kaldrmak hi de fena olmaz! Byle bir raporun her sayfasnda baslmasn istediimiz firma logosu gibi grafik unsurlar da tasarm grnmnde sayfamza yerletirebiliriz. Ayrca raporlarmzda, yeni renkli yazclarn imkanlarndan yararlanmak zere fotoraf, renkli metin yazlar ve balklar kullanabilir; ayrca belirli alanlarn arka planna renkli zeminler koyabiliriz. Access 2000in rapor tasarm aralar masast yayncla ta kartacak imkanlara sahiptir. Access 2000in rapor tasarm aralarn keif faaliyetiniz srasnda, raporlarn herhangi bir yerinde (rnein sayfa altbilgisi alannda) dosyann ve bulunduu dizinin adn nasl yazdrabileceinizi de aratrn. ou raporda bu bilgi, sizi veya bakasn saatlerce aramadan kurtarr! 73 Bu Internet anda, herkesin bir Web sayfas edindiin gnmzde Access 2000in bundan mahrum olacan dnmyordunuz, herhalde! Btn Ofis 2000 programlar gibi, Internet, Access 2000in de gbek ad! Bu kitapn kapsam dnda kalan dier bir ok baz zellii ve Access Projesi denen dosya tryle oluturabileceinin veritaban sunucu (MS SQL Server) balants sayesinde Access 2000, sadece kendi oluturduu veritabanlarn deil, fakat ok daha byk dosyalar iin son kullanc grevi yapabilir. Biz burada Access 2000 ile kendi verilerinizi Internete veya Intranete ama imkanndan sz edeceiz. Baka bir deyile, Web Sayfalarndan. Access 2000 ncesi, Internette veri-balantl sayfa yapmak zordu. Access 2000 ile btnletirilmi olan baz ActiveX aralar, veri dosyalarn Internete amay olduka kolay hale getiriyor. ActiveX, Microsoftun OLE teknolojisinin gelimii, Java applet benzeri bir teknolojidir ve Access 2000 kullancsnn, verileri Internet sayfalarnda kullanlr hale getirirken bu ve benzeri teknolojilerin nasl ilediini bilmesi de gerekmez. Ne var ki Access 2000 ile oluturacanz veri- balantl sayfalarn ileyebilmesi iin ActiveX teknolojisinin ziyaretinin kullanaca Web Browser program tarafndan salanmas gerekir. Bunu salayan browser ise yine Microsoftun Internet Explorer 5.0 programdr. IE5in Access 2000in veri sayfalarn gerektii gibi yorumlayabilmesi iin de alt iletim sisteminde Winsock32 denen sistemin bulunmas, baka bir deyile Windows sisteminin 95, 98, NT 4 veya 2000 olmas gerekir. Access 2000 verilerinizin Internette baka iletim sistemleri ve baka browser sahibi ziyaretiler tarafndan da grlmesini istiyorsanz. yine eski usul ODBC tekniklerinden yararlanmak zorundasnz. Access veri tablolarnn tasarmndan sz ederken, yeni bir veri tr olarak Access 2000in kpr (hyperlink, Internet balant adresi) kabul ettiini sylemitik. Bu, Access 2000in Internet ile ilgili becerilerinin sadece biridir. Accessin gerek Internet marifeti ise veri tablolarn Internet sayfas haline getirmesidir. Access tablolarnz Internete amak iin HTML dilini bilmeniz ve Web sayfas tasarmna aina olmanz da gerekmez. Access verileriniz Internete iki tazrda alabilir: Dura5an: Access 2000 tablosunun olduu gibi HTML diline evrilmesidir. Bir bakma Access tablosunun fotorafnn ekilmesi ve bu fotorafn Internette yaynlanmas anlamna gelir. Kendi sistemininizde kalan gerek Access 2000 tablosu daha sonra gncelletirilir, veriler deitirilir veya yeni alanlar eklenirse, bu deiiklikler Internete alm olan veri sayfasna yansmaz. Bunu herhangi bir tablo akken Dosya mensnden Ver maddesini seerek 74 ve alacak diyalog kutusunda kayt tr hanesinde HTML Belgeleri seeneini seerek yapabilirsiniz. Ortaya kan HTML belgesinde Access tablosunun grntlenen alanlar ve ilerindeki deerler, bir HTML tablosu olarak yer alr. Orta kan belge tablonun adn tar ve artk Access 2000 ile hi bir ilgisi kalmam demektir. Bu belgeyi Access 2000 tablosuna uygun ekilde gncelletirebilmek iin Accessten yeniden Ver ilemi yapmanz ve bu belgeyi yeniden kaydetmeniz gerekir. Access 2000 ile oluturduunuz ve veri ieren bir HTML belgesini Internet sitenize yerletirdiyseniz, eskisini yeni belgeyle deitirmeniz gerekir. HTML tablo oluturma iini ne kadar kolaylatrm da olsanz, elle yapacanz bu ilem, biraz sonra greceimiz ileme gre duraan saylr. Dinami.: Basit HTML belgesi oluturmak yerine, Veri Eriim Sayfas Sihirbazn kullanarak, Internete bakalarnn sizin verilerinize erimesini salayan bir HTML sayfas koyabilirsiniz. Byle bir sayfa yapmak, Access 2000 asndan duragan veri sayfas yapmak kadar kolaydr; fakat Internet sitesinin bulunduu Web Server, veritaban dosyas ve Access arasnda ibirliini salamak Internetin nasl ilediine ilikin bilgiler gerektirebilir. Bu yolla oluturacanz sayfalarn Internete konulmas ve Internet ziyaretilerine almas iine sonra dneceiz; imdi iin Access 2000 iinde yaplacak blmn ele alalm. Internet veya bir firmann dahil Intranetinde yaynlanacak verilerin bulunduu veritabann an ve Veritaban penceresinde nesneler listesinden Sayfalar tklayn. Access, tasarm grnmnde ve sihirbaz kullanarak veri sayfas oluturma ksayollarnn yannda, daha nce oluturduunuz (yani zaten varolan) bir veri eriim sayfasnn almasn nerecektir. Sihirbaz seeneini tklayn; sorgu, form ve rapor oluturma srasnda iyice aina olduumuz sihirbazn birinci penceresi alsn. Bu pencere bize veri eriim sayfamza birden ok tablo veya sorgudan alan seebileceimizi gsteriyor (Neden?). stteki Tablolar/Sorgular listesinden Aile tablosunu, altndaki alanlar listesinden Ad, Soyad, Einin Ad alanlarn; sonra tekrar stteki listeden ocuklar tablosunu ve alan listesinden Adn sadaki Seili Alanlar listesine aktaralm. Ileriyi tkladmzda gelen pencereye de yabanc deiliz. Gruplandrma yapabilmek iin bizden alan sememizi isteyen bu pencere Aile tablosundan Soyad alann seelim; pencerenin sadaki rnek blmnde HTML sayfasnn kaba bir tasarmn greceksiniz. Tekrar Ileriyi tklayalm. nc pencerede de Ayrntlar blmnn sralanmasn arzu edip etmediimiz sorulacaktr. rnek tablomuzda buna ihtiya yok, ama siz baka bir veri tablosunu kullanyorsanz ve kaytlarnzn kendi iinde sralanmasnn uygun olacan 75 dnyorsanz, bunu drt seviyeli olarak yapabilirsiniz (Il, Ile, Mahalle, Bayiin Ad, gibi). Ileriyi tkladnzda bu kez Access, ortaya kacak HTML dosyasnn adn isteyecek, Sonu tkladnzda sayfann tasarmn grnmnde mi, yoksa browserda grlecei gibi grnmesini mi arzu ettiinizi soracak, ve bir de sayfanzda bir motif uygulanp uygulanmamas konusunda karar vermenizi isteyecektir. Sayfa motifi veya ana tema Web tasarmclnda bir sitenin btn sayfalar arasnda grsel birlik kurmakta kullanlan bir tekniktir. Access 2000, Office 2000 ailesi programlarn (ve balca FrontPage 2000in) kulland temalar oluturacanz Veri Eriim Sayfalarna uygulamanza yardmc olabilir. Bunun iin buradaki motif kutusunu iaretlemeniz yeter. Motif kutusunu iaretlediiniz taktirde, Access 2000, Office 2000 programlarnn ortak tema diyalog kutusunu aacaktr. Bu kutuda sol tarafta 24 (ekleme yaparsanz daha ok) tema adn ieren bir liste greceksiniz. Sada ise setiiniz temaya gre veri eriim sayfasnda uygulanacak biimi inceleyebilirsiniz. Burada ubuklar adl temann seildiini gryoruz. Sonu tkladmzda ise dier sihirbazlardan farkl olarak karmza bir Web sayfas tasarm yapmaya elverili btn aralarn ve denetimlerin bulunduu tasarm grnm gelecektir. Telaa gerek yok: Burada yapacanz tek ey, sayfaya bir balk vermekten ibarettir. Balk yazmak iin buray tklaynz yazsn tklayarak sayfanza kendi balnz yazabilirsiniz. Bu grnmde yapabileceiniz bir baka deiiklik ise sayfann veritaban ile canl ilikisini kuran Sihirbazn (Wizard) baz kontrollere kendi adnn ksatlmasn yazmas dolaysyla bu ifadeleri Trkeletirmek olabilir. Burada grlen aralar ve denetimlerin kullanm byk lde HTML bilgisi gerektirir. zellikle veritaban ile sayfanzdaki veri grntlenecek kutular arasndaki ilikiyi salayan Recordset ActiveX nesneleriyle ilgili ve Access 2000 tarafndan XML diliyle yazlan kodlarn deitirilmesi Web sayfas ile ona hayat veren, verileri canl tutan ilikiyi kesebilir. Burada yaptmz rnein Access 2000 iinde Web sayfas olarak grn ile ayn sayfann Internette Web browser ile ulald andaki grntsn gryorsunuz: Bilgisayarnzdaki veri taban bu rnekte olduu gibi Web Servera bal ise, kendi sabit diskitinizdeki Access dosyasnda yapacanz herhangi bir deiiklik o srada sayfanz Internette izleyen ziyaretilerin ekranna yanstlacaktr. 76 Access 2000 ile giri dzeyinde yaplabilecek ilerin bir ksmn grm olduk. Daha dorusu, Accessin imkan ve yeteneklerinin yle bir stn atk. Geride daha ok ey var. Formlar daha albenili yapmaktan tutun, baka veritaban programlar ile bilgi alveriine, hesap ve ilev yapan sorgulardan, SQL Server veritabanlarn ilemeye kadar.. Ama her byk yolculuk bir ilk admla balar. Bu kitapkla, Access 2000 dnyasna ilk adm atm oluyorsunuz. 77