Mar 20, 2019, 11:45 AM

News:

Siteniz Guncelleniyor...


Recent Posts

Pages1 2 3 ... 10
1
Bilgisayar Dershanesi / AC-DC CONVERTER
Last post by Karamsar - Feb 23, 2019, 10:51 AM


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

 
1.2     Access Arabirimi
Ekranın en üst bölümünde, "Microsoft Access" başlığı görülür. Bu bölüm, başlık çubuğu olarak adlandırılır.
 

 
Başlık çubuğunun altında, menü seçeneklerinin yer aldığı menü çubuğu görülebilir. Buradaki menü seçenekleri, Access'in o anki moduna ve Access uygulamanızın özel bir menü sistemine sahip olup olmamasına göre değişiklik gösterecektir.
Menü çubuğunun hemen altında, araç çubuğu yer alır. Access'te çok sayıda değişik araç çubuğu bulunmaktadır. Kullanıcının kendi araç çubuklarını da oluşturması mümkündür. Araç çubukları, sık gerçekleştirilen işler için birer kestirme gibi düşünülebilirler.
Daha önce Access kullanmış olanlar için bile, araç çubuğundaki düğmelerin işlevlerini unutmak söz konusu olabilir. Araç çubuğundaki düğmelerden birinin üzerine mouse getirilip birkaç saniye beklenirse, küçük bir balon bu bileşenin işlevini açıklayıcı bilgi sunacaktır. Ayrıca en altta yer alan durum çubuğunun da kısa bir açıklama içerdiği görülebilir. Bu araç ipuçları kullanılarak her bir düğmenin ne işe yaradığı kısa sürede öğrenilebilir.
1.3     Araç Çubuklarının Düzenlenmesi
Access ilk açıldığında, araç çubuğu tek bir satırdan oluşmaktadır. Bu çoğu zaman işe yarasa da, zaman zaman farklı bir düzen gerekli olabilmektedir. Araç çubuklarını başka bir konuma taşımak için, mouse, araç çubuğunun boş bir bölümüne getirilip sol mouse tuşu ile sürükleme yapmak gerekmektedir. Araç çubukları ekranın dört kenarına yaslanacak şekilde yerleştirilebildiği gibi, aşağıdaki şekilde görüldüğü gibi, orta yerde seyyar olarak da kullanılabilirler. Bu durumda, araç çubuğunun üst kısmında bir başlık kısmı açılarak, araç çubuğunun ismi görüntülenir.
 

 
Başka araç çubuklarının görüntülenmesi ve araç çubukları ile ilgili değişik ayarlar yapabilmek için Görünüm menüsünden Araç Çubukları seçeneği seçilir. Aşağıdaki diyalog kutusunda, istenilen diğer araç çubuklarına ait kutuların işaretlenmesi ile başka başka araç çubukları da görüntülenebilir. Ancak bilinmelidir ki, Access programı, o anda yapılmakta olan işlem için gerekli olan araç çubuğunu otomatik olarak görüntüleyebilmektedir.

.   Yeni Bir Veri Tabanının Hazırlanması
Access'te yeni bir veritabanı oluşturulması, Msoffice paketinde bulunan Word ve Excel gibi diğer programlarda yeni doküman ya da kitap oluşturma işlemine benzerdir. Access'in ilk açılışında, görüntülenen diyalog kutusunda Boş Veritabanı seçeneği kullanılarak yeni bir veritabanı oluşturulabildiği gibi, daha sonra da araç çubuğundan Yeni düğmesi basılmak ya da Dosya menüsünden Yeni Veritabanı komutu seçilmek suretiyle de yapılabilir.
Hangi yöntem kullanılırsa kullanılsın, yeni bir veritabanı mutlaka bir şablon kullanılmak suretiyle oluşturulur. Herhangi bir şablon kullanılmak istenmiyorsa, bu durum da aslında yine bir şablon olan Boş Veritabanı şablonu seçilmelidir. Bu şablon dışında başka bir şablon kullanılmak isteniyorsa, aşağıdaki diyalog kutusunda olduğu gibi mevcut şablonlardan birisi seçilebilir. Bazı şablonlar, bir sihirbazı devreye sokarak, oluşturulacak yeni veritabanının yapısına ilişkin bazı bilgileri kullanıcıdan alırlar ve en son olarak da yeni veri tabanını oluştururlar.

 
•        Access açılır.
•        Açılış diyalog kutusunda Cancel tıklanır.
•        Araç çubuğundaki New Database düğmesi tıklanır. Access bir dizi şablon içerisinden yeni veri tabanı için seçim yapılmasına olanak tanır. Blank database şablonu bulunur ve vurgulanır.
•        OK tıklanır ve uzantısı .mdb olan yeni bir veri tabanı hazırlanmış olur.
•        Create tıklanarak Access'in veri tabanı hazırlama işlemini tamamlaması sağlanır.
 
2.1   Wizard'a Giriş
Hazırlanan yeni veri tabanı çerçevesi, kullanılacak bütün nesneler için bir kap durumundadır. Bu pencere üst bölümünde sekmelere ve yan tarafında da bir kaç düğmeye yer verir.
 
2.1.1.Wizard Kullanılarak Yeni Bir Tablonun Hazırlanması
•        Veri tabanı penceresinin sağ tarafındaki New düğmesi tıklanır. Bir sonraki diyalog kutusunda da Table Wizard tıklanır.
•        OK tıklayın. Bir sonraki diyalog kutusunun sol alt bölümündeki Personal seçenek düğmesi tıklanır.
•        Business ve Personal etiketli iki seçenek düğmesi, Wizard kullanılırken iki tablo tipi grubundan hangisinin kullanılacağını belirler. Sample Tables başlıklı liste kutusu, yeni tablo için şablon olarak kullanabilecek tabloları içerir. Sample Fields liste kutusu ise herbir örnek tabloda kullanabilecek alanları gösterir.
•        Table Wizard'ı kullanırken istenene yakın alanları içeren örnek bir tablonun seçilmesi uygun olacaktır.
•        Personal etiketli seçenek düğmesi tıklanarak kişisel örnek tablo kümesi görüntülenir. Farklı tabloların bir arada çalışabileceği unutulmamalıdır.
•        Örnek bir tablo tıklandıktan sonra >> düğmesi tıklanırsa örnek tablodaki verinin tümü yeni tabloya taşınacaktır.
•        Yeni tabloya örnek tablodan sadece bazı alanlar eklenecekse, bu alanlar vurgulanır ve > düğmesi tıklanır. Yeni tablodan alan çıkartmak içinse < ve << düğmeleri kullanılmalıdır.
•        Fields in my new table liste kutusuna istenen bütün girişler yerleştirildikten sonra, Next> düğmesi tıklanarak tablo tasarımının bir sonraki aşamasına geçilir.
•        Access tablo için Authors adını önerecektir,bu ad kabul edilir ya da başka bir ad kullanılır. Access ana anahtar (primary key) seçenek düğmesine geçerek kullanıcı için ana anahtarı hazırlayacaktır. Varsayılan bu durumun geçerliliği korunur ve Next> tıklanır.
•        Access, Wizard işleminin tamamlanmak üzere olduğunu belirten bir ekran görüntüleyecektir. Bu noktada tablo tasarımını değiştirme, tabloyu veri girişine açma ya da form hazırlamak için başka bir Wizard'ı etkinleştirme seçenekleri sunulacaktır.
•        "Enter data directly into the table"'ı ve Finish düğmesi tıklanır. Access yeni tabloyu hazırlayıp açacaktır.
•        Şu andan sonra TAB ve ENTER tuşlarıyla alanlar arasında gezebilir ve veri girişi yapılabilir.
•        İlk alana hiçbir bilgi girilemediğine dikkat edin. Bu alan Access'in alanları belirlemek için kullandığı ardışık numaralara ayrılmıştır.
 
   Tablonun kullanımı sona erdiğinde kontrol menüsü ikonu çift tıklanarak ya da sağ üstte yer alan X düğmesi tıklanarak tablo kapatılabilir. Eğer alan genişlikleri değiştirildiyse bu değişikliklerin kaydedilmek istenip istenmediği sorulacaktır.
 

 
2.2   Yardım
Bazı durumlarda ipucu kartları ve Wizard'Iarın sunduklarının ötesinde yardıma gereksinim duyulabilir. Bu tip durumlarda çevrimiçi Access yardım özelliği kullanılabilir.
 
2.3   Çevrimiçi Yardım Bileşenleri
•        Access başlatılır.
•        Ana menü çubuğundan Help girişi tıklanır.
•        Aşağı açılan menü listesinden  Microsoft Access Help Topics tıklanır.
•        Yardım penceresinin üstündeki Find sekmesi tıklanır. En üstteki seçenek düğmesi tıklanarak indeks boyutu en düşük düzeyde tutulur ve Next> düğmesi tıklanır. Finish tıklanarak yardım başlıklarına ait bir dizin listesinin görüntülenmesi sağlanır.
•        İçlerinden seçim yapılabilecek 5600 konu başlığı bulunmaktadır.
•        Hakkında yardım istenen deyim diyalog kutusunun üst kenarında bulunan boşluğa yazılır. Display düğmesini tıklanarak vurgulanan deyim ile eşleşme sağlayan yardım konusu görüntüye getirilir.
•        Bunun sonucunda görüntülenecek help sayfası bir ipucu kartına yer yer verebilmektedir.
•        İstenen konu başlığına ulaşıncaya kadar, tarama işlemi yinelenebilir.
•        Index sekmesine girerek seçimin girilmesi de mümkündür. Access dizini en çok başvurulan konu başlıklarını içermesine karşın, Find dizinleri kadar kapsamlı değildir.
Find dizinlerinin kullanılmasının dezavantajlı yönü ise, zaman ve disk boşluğu harcamasıdır.
3.      TABLOLARA VERİ GİRİLMESİ
3.1      Veri Tabanı Projesi
Proje dahilindeki örnek veri tabanında öğrencilerin istatistik bilgilerinin, aldığı derslerin ve öğretim ücreti ödeme durumlarının işlenmesi amaçlanmıştır. Etiketler değiştirilip birkaç düzenleme yapılarak aynı sistem tıp, ticaret ve personel yönetimi gibi alanlarda da kullanılabilir.
 
3.1.1   Veri Tabanının Planlanması
Access gibi ilişkisel bir veri tabanında, veriler mantıksal tablo gruplarına ayrılırlar. İlişkisel veri tabanı modelinin amacı, yüksek verimliliktir. İlişkisel olmayan düz kütük yönteminin bir öğrenciyle ilgili veriyi saklamak amacıyla kullanılması durumunda, öğrencinin aldığı her bir ders için ad, adres ve telefon biİgileri çoğaltılacaktır. Bu gereksiz fazlalık, önemli sayıda kayıtla uğraşan günümüz veri tabanları söz konusu olduğunda hem artan disk boşluğu ihtiyacı, hem de artan veri ulaşım zamanı gibi büyük sorunlara yol açacaktır.
İlişkisel modelde ise, veri iki tabloya ayrılacaktır. Birinci tablo kimlik, sigorta numarası ve adres gibi kişisel öğrenci bilgilerini içerecektir. İkinci tablo ise bu bilgileri çoğaltmak yerine ders bilgisine ve öğrenci kimlik bilgisine yer verir. Öğrenci kimlik bilgisi, Access'in öğrenciyi aldığı derslerle eşlemede kullandığı bağlantı alanı durumundadır.
3.1.2   İlk Tablodan Önce
   Okullarda kullanılan veri tabanları, öğrencilere ilişkin kişisel bilgiyi içerecek bir tabloyu gerektirir.
 
3.1.3   Yeni Bir Veri Tabanının Hazırlanması
•        Access açılır. En üstteki seçenek düğmesi kullanılarak boş veri tabanı hazırlanır.
•        Eğer Access zaten açık durumdaysa, kapatılıp açılarak yada  New Database düğmesi tıklanarak ilgili diyalog kutusunun görüntülenmesi sağlanır.
•        OK tıklanarak yeni diyalog kutusuna geçilir.
•        Access yeni veri tabanını adlandırmanızı isteyecektir. Access'irı önerdiği ad yerine, uygun görülen bir deyim girilir. Veri tabanı adlarında, .mdb uzantısı kullanılacaktır.
•        Access yeni bir veri tabanı hazırlayacaktır.
3.1.4   İlk Tablo
Örnek uygulamada, Öğrenci Bilgi tablosuna Öğrenci sigorta no, ad (ilk ad orta ad ve soyad), adres, telefon, acil durum erişimi ve/veya anne-babası, elektronik posta adresi, takip konusu ve notlar gibi alanlara yer verilecektir.
 

 
3.1.5   Öğrenci Bilgi Tablosunun Hazırlanması
•        Table sekmesinin seçildiğinden emin olunur.
•        Database kutusu içindeki New düğmesi tıklanır.
•        Access bazı seçenekleri sunacaktır. Bunlardan ilk ikisi olan Datasheet View ve Design View, elle tablo hazırlama seçenekleridir. Son iki seçenek olan Import Table Wizard ve Link Table Wizard varolan tabloların veri tabanına bağlanmasını ya da aktarılmasını sağlar. Table Wizard seçilir ve OK tıklanır.
•        Sol alt köşedeki Business seçenek düğmesinin işaretli olmasına dikkat edilmelidir. Mouse'la Sample Tables listesi gerekirse kaydırılır ve Öğrenciler tablosu bulunur ve tıklanır.
•        Access kullanıcı için işleri kolaylaştıracaktır. Sample Fields liste kutusu incelenirse, istenen alanların hemen hemen tümünün İngilizce olarak içerildiği görülecektir.
•        Sample Fields liste kutusunun hemen sağındaki > > düğmesi tıklanarak örnek alanların hepsinin tabloya aktarılması sağlanır. Öğrencilerin hepsi Türkiye'de olacağı için, PostaICode alanı ve Rename tıklanıp alan PostaKod olarak adlandırılabilir. OK tıklanarak yeni ad kabul edilir. StateOrProvince alanı da aynı şekilde Ûlke olarak değiştirilebilir. Rename seçeneği kullanılarak bütün alanlar Türkçeleştirilebilir.
•        Table Wizard'ın sağ alt bölümünde yer alan Next> düğmesi tıklanır. Access tablo için Students adını önerecektir, ancak bunun yerine ÖğrenciBilgi adı kullanılır.
•        Wizard diyalog kutusunun ortasına geçilir ve No, set the Primary Key seçilir. Next> tıklanarak sıradaki diyalog kutusuna geçilir.
•        Kimlik olarak öğrenci sigorta numarası kullanılacağından her bir kayıt için ayrı bir öğrenci kimliği söz konusu olacaktır. Access'in her bir kayıt için ayrı bir öğrenci kimliği kullanma konusundaki önerisine uyun. Öte yandan ortadaki diyalog kutusunda en alt seçenek kullanılarak, ana anahtar alanda hem harf hem de rakamların kullanılabilmesi mümkün kılınır.
•        Next> düğmesi tıklanır. Access kullanıcıya son olarak üç seçenek daha sunacak ve Wizard'ın sonunda olduğunu belirtecektir. Eğer seçili değilse, en üstteki seçenek tıklanarak Access'e son olarak tablo tasarımı üzerinde oynamak istendiği bildirilir. Finish tıklanır. Access yeni tabloyu hazırlayacak ve kullanıcıyı Design View görüntüsünde bırakacaktır.
3.1.6   Alan Tipleri Ve Özellikleri
Tablo tasarım penceresinin en üst bölümü, alan adları ve veri tiplerine ilişkin bir liste içermektedir. Pencerenin altında, General ve Lookup adlı iki sekmeye yer veren Field Properties adlı bir bölüm bulunmaktadır. Access tablosundaki her bir alan, üç bileşene sahiptir: Alan adı (kimlik gibi), alan tipi (Text gibi) ve özellikler. Veri tabanındaki her bir alanın uygun bir alan tipine ayarlanması önemlidir.
 
3.1.7   Veri Tipleri
Access, şu veri tiplerini desteklemektedir.
•        Metin (text): Alphanumeric olarak da bilinir. Normal karakterleri kabul eder. Alan uzunluğu 255 karakterle sınırlıdır.
•        Sayı (number): Bu veri tipi sayıları kabul eder. Alanlar üzerinde matematik işlemler yapılması planlanıyorsa, bu veri tipi kullanılmalıdır.
•        Tarih/saat (date/time): Number veri tipinin özel bir biçimi olan Date/Time, tarih ya da saat bilgisinin girilmesi için kullanılır. Bu tip veriye sahip alanlarda da matematik işlemleri yapılabilir.
•        Para (currency): Para bilgisinin girilmesini sağlayan bu veri tipi de, Number'ın değişik bir uyarlamasıdır.
•        Otomatik numaralama (autonumber): Bir alandaki verinin tipi Autonumber yapıldığında, Field Property New Number'ın Increment olarak ayarlanması durumunda Access kayıtlara ardışık sayılar uygulayacaktır. Random'a ayarlandıysa, Access her bir yeni kayıt için gelişigüzel sayılar üretecektir. Increment olarak ayarlandığında Access numara vermeye 1'den başlar. Increment ya da Random seçenekleri, ana anahtar alanlar için kullanılır, çünkü Access bir tablodaki kayıtlardan birine atanmış bir sayıyı bir daha kullanmayacaktır. Bu tip alanların gereksiz kullanımı veri tabanını gereksiz bilgilerle doldurarak ilişkisel teoriye ters düşecektir.
•        Evet/Hayır (yes/no): Yalnızca iki değer kabul eder: Yes ya da No.
•        Arama Wizard'ı (lookup wizard): Diğer veri tabanı nesnelerine önceden girilmiş olan değerleri arar.
•        OLE nesnesi (OLE Object): OLE'yi destekleyen başka bir programda hazırlanmış bir nesnenin yerleştirilmesini ya da nesneye bağlanılmasını mümkün kılar. Access 95, yalnızca bir OLE müşterisi durumunda olduğu için, OLE'yi destekleyen diğer programlara yerleştirilebilen nesneler hazırlayamaz.
•        Not (memo): Bir kayda not eklenmesini sağlayan bir alandır.29
4.   TABLO ALANLARININ ÖZELLİKLERİ
4.1   Bir Tablonun Düzenlenmesi
Access'de bir tablonun hemen hemen bütün özellikleri değiştirilebilir. Aynı amaçla bir wizard da kullanılabilir. Çoğu zaman tablo tasarlandıktan sonra belirli bir alandaki veri tipinin yanlış olduğu ya da bir alanın eklenmesi veya çıkarılması gerektiği farkedilecektir. Örnek tabloda da etkin kökeni belirten bir alan eklenmesi ve fazlalık StudentNumber alanının çıkarılması gerekmekte. Uygun tablo tasarım alanını tıklayıp istene değişiklikler şu şekilde yapılmalıdır.
 
•        Access, Okul veri tabanı, yada Öğrenci bilgi tablosu kapalıysa yeniden açılmalıdır. Öğrenci bilgi tablosu  vurgulanmış durumdayken, veri tabanı penceresindeki Design düğmesi tıklanır.
•        StudentNumber alanı bulunur. Mouse, alan adının hemen solundaki gri bölüme getirilir ve göstergenin sağ yönü gösteren bir oka dönüştüğü gözlemlenir. Sol mouse düğmesi tıklanarak alanın tamamı vurgulanır
•        Del tuşuna basılır. StudentNumber alanı silinecektir.
 

4.2   Alan Ekleme
Access veri tabanlarına kolaylıkla yeni alanlar eklenebilir.
4.2.1   Bir Tabloya Alan Eklenmesi
•        FieldName alanı kaydırılarak Takip Konusu başlığı bulunur. Mouse Field Name sütununun sol kenarına taşınır. Gösterge, sağ yönü gösteren bir oka dönüşecektir. Sol mouse düğmesi tıklanır.
•        Access satırın tamamını vurgulayacaktır. Tıklarken, mouse göstergesinin Takip Konusu alanının hemen solundaki gri bölümün dışına çıkmamasına dikkat edilmelidir.
•        Takip Konusu satırı tümüyle vurgulanmış durumdayken, Insert tuşuna basılır. Access yeni ve boş bir satır yerleştirecek ve takip Konusu alanını bir satır aşağı kaydıracaktır.
•        Vurgulanan satırın Field Name sütunu bir kez tıklanır. Satırın vurgusu kaybolacak ve gösterge Field Name sütununun en solunda yer alacaktır. Şimdi Köken sözcüğü girilir.
•        Tab tuşuna basılarak gösterge Data Type sütununa taşınır. Access Text veri tipini önerecek ve ayrıca Data Type alanının sağında bir sekme sunacaktır. Sekmeyi tıklanarak liste açılır.
•        Text, Köken alanı için doğru veri tipidir. Ancak diğer seçenekleri görmek için aşağı ok düğmesi tıklanabilir.
•        Böylece ÖgrenciBilgi tablosuna yeni bir alan eklenmiş olur. Kontrol menü ikonu çift tıklanarak ya da X düğmesi kullanılarak ÖgrenciBilgi tablosu kapatılır. Access tabloda yapılan değişikliklerin kaydedilmesinin istenip istenmediğini sorunca, OK tıklanır.
4.3   Wızard'sız Tablo Hazırlama
Wizard'ın örnekleri istenen tabloya yakın özellikler sunmuyorsa, kullanıcı kendi tablosunu hazırlamalıdır.
Örneğin, öğrenci kimliği ile ilgili alan sayesinde ÖgrenciBilgi tablosuyla bağlantı kuran ve öğrencilerin ders kayıtlarıyla ilgili bir tablo kurulacaksa ve bağımsız tabloda karşılık gelen bir kayıt yoksa, bağımlı tabloya bilgi eklenemez. İki tablo bağladıktan sonra, ÖgrenciBilgi tablosuna öğrenciyle ilgili bilgi girilmediği sürece, bir derse yeni bir öğrenci kaydedilemeyecektir. Yeni tablo ders kodu, öğrencinin dersi bitirip bitirmediğine ilişkin bir gösterge ve öğrencinin notu için de alanlara gereksinim duyacaktır ve her sömestr bu tablo başka bir tabloya veri sağlayarak öğrencinin karnesinin hazırlanmasını sağlayacaktır.
4.3.1   Tablonun Hazırlanması
ÖgrenciBilgi tablosunu kapandıktan sonra, Tables sekmesinde veri tabanı penceresine dönmüş olunur.
4.3.2   Wızard Kullanmadan...
•        New düğmesi tıklanarak tablo hazırlama işlemine başlanır. Design View seçilir ve OK tıklanır. Access boş bir tablo tasarım bölümü açacaktır.
•        Işıklı gösterge, tasarım alanının en solundaki sütunun ilk satırında yer alacaktır. İşlem sırasında sağ alt bölümde ve durum çubuğunda görüntülenen açıklamalar kullanıcıya yardımcı olacaktır.
•        İlk alan adına IndeksNo deyimi girilir. Tab'a basarak Data Type alanına geçilir. Access Text veri tipini önerecektir. Yandaki sekmeyle açılacak listeden, Autonumber veri tipi bulunur ve tıklanır. IndeksNo alanı, bu tablo için anahtar alan olma işlevini üstlenecektir. Autonumber veri tipinin kullanılması sayesinde, Access bu tabloda hazırlanacak her bir kayıt için bu alana diğerlerinden farklı bir sayı girecektir. Ekranın alt bölümünde New Values alanının, Increment olarak ayarlandığına dikkat edilmelidir.
•        İkinci alan, ÖgrenciBilgi tablosuyla bağlantıyı sağlayacak olan Ögrenci Sigorta No alanıdır. İki kez Tab'a basılarak Field Name sütununun ikinci satırına geçilir.
•        Ögrenci Sigorta No deyimi girilir. Data Type alanına geçilir. Access'in sunduğu varsayılan ayarlar kabul edilir ve iki kez Tab'e basılarak bir sonraki satıra geçilir. ÖgrenciBilgi tablosunda Text veri tipine sahip olan Ögrenci Sigorta No alanının, yeni tabloda da Text veri tipine sahip olduğu gözlenmelidir.
•        Bir sonraki satıra geçtikten sonra, DersKod deyimi girilir. Yine Data Type sütununa geçilir, Access'in varsayılan ayarlamaları kabul edilir ve iki kez Tab'e basılarak Field Name alanındaki dördüncü satıra geçilir.
•        Yeni alanın adı Bitirdi olarak girilir ve veri tipi olarak Yes/No seçilir. Bir sonraki Field Name satırına geçilir.
•        Son alan için Not deyimi girilerek alanlara ad verme işlemi tamamlanır. Son alanın veri tipi Text olarak bırakılır.
•        Bir not Access'in alan boyutu için sunduğu 50 boşluğu tamamıyla kaplamayacaksa, Field Properties bölümündeki Field Size satırı tıklanarak varsayılan değer düşürülür.
•        Access'e IndeksNo alanının, anahtar alan olarak istendiği belirtilir.
•        Tablo tasarım bölümündeki ilk sütunun ilk satırı (IndeksNo alanı) tıklanır. Araç çubuğunda küçük bir anahtarla temsil edilen düğme bulunur. Bu düğme tıklanır. IndeksNo alan adının hemen solunda küçük bir anahtar görüntülenecek böylece IndeksNo'nun anahtar alan olarak ayarlandığını gösterecektir.
•        Bu tabloya bir ad verip kaydetmek gerektiğinde, File menü maddesi tıklanır ve Close seçilir. Access yapılan değişikliklerin kaydedilmek istenip istenmediğini soracaktır. Yes tıklanır. Ad sorulduğunda, ÖgrenciVeDers deyimi girilir. OK tıklanır. Access tabloyu kaydedecektir.
4.4   Neden İlişkisel?
ÖgrenciVeDers tablosunda öğrenci olmayanlara ilişkin hiçbir giriş istenmeyecek ve ayrıca alınan dersleri öğrencilerle gerektiği gibi eşleme gereksinimi duyulacaktır. Access gibi ilişkisel bir veri tabanında, bağlar bu iki işlevi de yerine getirmektedir.
ÖgrenciBilgi ve ÖgrenciVeDers tabloları arasında bağlarıtı kurulmasının doğrulama ve eşleme olmak üzere iki nedeni vardır. Doğrulama, ÖgrenciVeDers tablosunda hatalı veri bulunmamasını sağlar. Amaç, bir öğrenci için ÖgrenciVeDers tablosuna bir giriş yapmadan önce, bu öğrenciyle ilgili kayda ÖgrenciBilgi tablosunda da yer verildiğinden emin olmaktır.
Ayrıca tek bir öğrenci için ÖgrenciVeDers tablosuna birden fazla kayıt girilebileceğinden de emin olmak istenecektir. Çünkü öğrenciler sömestr boyunca çok sayıda ders alabilir. Tek bir kaydın çok sayıda kayda bağlandığı ilişkiler bire-çok ilişki diye adlandırılırlar.
re-çok" ilişki biçiminde adlandırılır. Diğer tarafa "çok' sayıda giriş yapmadan önce "bir" olan tarafta ilgili kaydın varolmasını garantiye almak başvuru tümleşikliği (referential integrity) olarak adlandırılır. Eşleme, ÖgrenciBilgi ve ÖğrenciVeDers tablolarında yer alan bilgiler arasında uygun eşlemenin sağlanmak istendiği anlamına gelir. Bağ, Access'e iki tablodaki alanlardan hangilerinin birbiriyle eşlendiğini söyler.
4.5   Bağ Ya Da İlişkinin Kurulması
Ekran veri tabanı penceresini gösteriyor durumda olmalıdır.
4.5.1   Bire-Çok Bağın Oluşturulması
•        Önce Tools menü maddesi, sonra da aşağı açılan listenin ortasında yer alan Relationships tıklanır.
•        Sırayla her biri vurgulanır ve Add düğmesi tıklanarak tablolar Relationship penceresine eklenir.
•        Add Table diyalog kutusunda Close düğmesi tıklanır.
•        ÖgrenciVeDers tablosunda IndeksNo ve ÖgrenciBilgi tablosunda da Öğrenci SigortaNo alanlarının koyu olduğuna dikkat edilir. Bu alanlar, kendi tablolarının anahtarı durumundadırlar.
•        Mouse göstergesi, ÖgrenciBilgi liste kutusundaki Ögrenci SigortaNo girişine getirilir. Sol mouse düğmesi basılı tutularak mouse ÖğrenciVeDers liste kutusuna sürüklenir. Mouse düğmesi bırakılmadan gösterge ikinci liste kutusundaki ÖgrenciSigortaNo alanına taşınır ve mouse düğmesi bırakılır. Access bir diyalog kutusuyla karşılık verecektir.
•        Enforce Referential Integrity seçim kutusu işaretlenir. Böylece Ögrenci Bilgi'de ilgili giriş olmadığı sürece, ÖgrenciVeDers'e giriş yapılması önlenecektir.
•        File/Cİose seçilir. Access ilişki değişikliklerinin kaydetmek istenip istenmediğini sorduğunda, Yes tıklanır. Böylece veri tabanı penceresine geri dönülür.
 

 
4.5.2   Table Analyzer
Microsoft'un ilişkisel teorinin gerçek hayattaki sorunlara uygulanması konusunda yardımcı olarak sunduğu Table Analyzer wizard sayesinde Access, tabloları inceleyebilir ve ilişkisel teoriye daha uygun olacak şekilde yeniden yapılandırabilir. Bu wizard, ilişkisel teoriyi kavrama konusunda da çok yardımcı olabilmektedir.
5.   TABLOYA VERİ GİRİLMESİ
Tablonun tasarımının ardından tabloya veri girilebilir. Veri girişi için tablonun veritablosu (datasheet) görünümü kullanılır. Tablolar veri girişi için kontrollar ve görünüm bakımından daha zor olduğundan genellikle veri girişi formlardan da yapılır.
 
•        Bu işlem için veritablosu düğmesine basılır.
•        Kullanıcı birinci alandan başlayarak veri girişini hücrelere yapar.
•        Bir hücreye girilen verinin ardından TAB tuşuna basılarak yandaki bir hücreye geçilir.
•        Ayrıca ok tuşları kullanılarak tablo satırları ve alanları arasında hareket edilir.
 
Tablo alanlarına veri girişi yapılırken alan tiplerine uygun veri girilmelidir. Tarih alanına tarih, sayısal alana sayısal veri girilmelidir. Bunun dışında indeks ve ana anahtar alanlarına da uygun veriler girilmelidir. Örneğin ana anahtar olan alana birinci kayıtta olan bir bilgi ikinci kaydına da girilmemelidir. Tablo alanına yanlış tipte veri girilmesinde ise hata mesajları ekrana çıkacaktır. Bu durumda yapılan değişiklikler ya da eklenen yeni satır tabloya eklenmez.
 
Tablonun içindeki verilerin görülmesi için tablo tasarım durumunda Datasheet view (Veritablosu Görünümü) düğmesine basılabileceği gibi Veritabanı Penceresinden de tablo seçilerek open (Aç) düğmesine basılır. Bir tablo tasarımında diğer önemli bir konu da alanların özelliklerinin düzenlenmesidir. özellikler tasarım sırasında ya da tasarımdan sonra düzenlenebilir. Özellikler, tablonun daha etkin olarak kullanımı sağlanır. Veri girişinde yapılan hatalar önlenir, varsayılan değerler düzenlenerek otomatik olarak tabloya eklenmeleri sağlanır, verilerin biçimi (formatı) düzenlenir, indeksler düzenlenerek arama ve sıralama işlemleri yapılır.
 
Alanların özelliklerinin düzenlenmesi için tablo tasarım penceresinde herbir alanın üzerine gelindiğinde alt tarafta oluşan özellikler bilgilerinin satırları kullanılır. Alan özelliklerinin bazıları varsayım olarak verilmiştir. Bu nedenle özelliklerin bir kısmının düzenlenmesine gerek duyulmaz.
5.1   Alan Özelliklerinin Düzenlenmesi
Field Size, Text ve number (sayısal veri) için alan genişliğini belirler. Text (alfabetik bilgi) alanların uzunluğu 1 ile 255 arasında düzenlenebilir. Text alan alfabetik ve rakam karakterlerden oluşabilir. Ancak bu alanlar üzerinde aritmetik işlem yapılmaz. Text alanın varsayım genişliği 50'dir. Herbir karaktere karşılık bir değerini alan alan genişliği, alana girilecek veriye göre ayarlanır. Alan genişliği özelliği sayısal olarak da verileri en etkin biçimde temsil etmek için ayarlanır. Varsayım olarak sayısal bilgileri Long Integer olarak temsil eder. Ancak   bazı durumlarda daha az yer kaplaması için daha düşük özelliklerdeki sayısal özelliklere sahip alan ayarlaması yapılır.
 
Double   -1.797X10 309 ile 1.797X10309
Single   -3.4X1038 ile 3.4X1038
Long Integer   -2,147,483,648 ile 2,147,483,647
Integer   -32,768 ile 32,767
Byte   0 ile 255
 
Yukarıdaki tabloda da görüldüğü gibi kuruşlu ve büyük sayılarla işlem yapılacaksa alan özelliği olarak single ya da Double seçilmelidir. Bunun dışında küçük sayılar için daha geniş özellikte bir alan tipi seçmek gereksiz yer harcamak olacaktır. Sayısal alanların alan özelliklerinin değiştirilmesi sayıların değişmesine neden olabilir. Single ya da Double bir alan Integer olarak değişirse içindeki değer de yuvarlanır ya da değer kayıp olur. Alan tipi Number olarak seçilen alanların Field size (Alan Genişliği) özelliği Access'de Long Integer dır.
5.1.1   Format
Format özelliği, metin, sayısal verilerin, tarih ve zaman verilerinin görünümünü etkiler. Format özelliği ile kazanılan biçimleriyle veriler daha iyi bir şekilde görülürler.
5.1.2   Format Özelliği
Standard   Sayısal bilgiler için
Short Date    Kısa tarih biçimi
Long Date   Uzun tarih biçimi
Short Time   Kısa zaman biçimi
5.1.3   Sayısal Alan Biçimleri
General Number   4567.8 4567.8
Currency      4567.8 4,567.80 TL
Fixed         4567.8 4567
Standard      4567.8 4,567.80
= Percent      0.25       25%
Scientific      4567.8 4.56E+03
Sayısal bilgilerin biçimlenmesinde kullanılan diğer bir özellik de Decimal Places'dir. Decimal Places (Onlu hane) sayısal bilgide bulunacak olan onlu haneyi (kuruş) sayısını düzenler.
 
5.1.4   Tarih Bilgileri
General Date   11.05.95 3:21:01 PM
Long Date   Thursday, May 11,1995
Medium Date    11-May-95
Short Date   5/11/95
Long Time   3:21:01 PM
Medium Time   03:21 pm
Short Time   15:21
5.1.5   Caption
Caption (Başlık) özelliği alanın adının dışında giriş ve görünümde kullanılmak üzere bir başlık düzenlenmesini sağlar.
5.1.6   Default Value
Default value (Varsayım Değer, Hazır Değer) özelliği bir alanda sürekli kullanılan bir değeri belirtir. Daha sonra giriş, görünümde ve formlarda bu alanın değeri otomatik olarak yer alır. Varsayılan değer alanda hazır olarak bulunur. Ancak kullanıcı bunu değiştirebilir. Amaç alanın içinde genellikle bulunacak bu değeri alanın içinde hazır olarak tutmak ve veri girişinde zaman kazanmaktır.
5.1.7   Validation Rule, Validation Text
Access, alanlara girilen değerleri alanın özelliklerine (tipine) göre kontrol eder. Örneğin, sayısal (number) özelliğine sahip bir alana Text (alfabetik) bilgi girilemez. validation Rule (Sağlama Kuralı) ve validation Text (Sağlama Metni) alana girilecek verinin belli bir kurala uymasını zorunlu kılar.  Sağlama Kuralı verinin özelliklerini belirlerken, Sağlama Metni ise girilen verinin kuralı sağlamaması durumunda verilecek mesajı içerir. Örneğin alana 0'dan büyük bir değer girilmesi, alana 10'dan küçük bir değer girilmesi, alana "EGE", "MARMARA", "AKDENİZ" değerlerinden birisinin girilmesi gibi kurallar konulabilir. Eğer mevcut (içinde değer olan) bir tablonun bir alanına Sağlama Kuralı konmaya kalkılırsa o zaman tablo kayıtlarının tamamı okunacak ve kurala uymayanlar bulunarak mesaj verilecektir.
5.1.8   Required
Bir alanın her kayıtta mutlaka bir değere sahip olması isteniyorsa alanın Required özelliği Yes yapılır. Normalde bu özellik No durumundadır. Herhangi bir alanın Required özelliği Yes olarak düzenlendikten sonra bu alan Null değerini kabul etmez. Diğer bir deyişle alana mutlaka bir değer girilmelidir.
5.1.9   Allow Zero Length
Required özelliginin yanısıra, Text ve Memo tipli alanlar için allow zero length özelliği vardır. Bu özellik alanın sıfır uzunluğunda bir karakter bilgi (zero-length string) içerip içermeyeceğine izin verir. Normalde bir Text ya da Null alana herhangi bir değer girilmezse (boş geçilirse) o zaman alanın içine Null degeri girilmiş sayılır. Bir alana (açık biçimde) bir sıfır uzunluklu karakter bilgi girilecekse o zaman bu bilgi iki tırnak ile belirtilir. Aralarında boşluk olmayan iki tırnak sıfır uzunluklu bir karakter bilgiyi belirtir.
Zero-Length string (Sıfır-Uzunluklu Karakter bilgi). Text ya da Memo bir alan boş bırakıldığında içi değersiz (Null) olması isteniyorsa o zaman Required ve allow zero Lengt özellikleri Yes yapılarak bu alana sıfır uzunluklu bir karakterin  girilmesi sağlanır.
5.1.10   Indexed
Çok sayıda kayda erişmek için belli anahtar alanlar gerekir. Örneğin bin kişilik bir personel listesinden işe giriş tarihleri 1/1/1990 ile 1/31/1990 arasında (bir ay) olanların bulunması gerekirse kayıtlar birer birer taranacak ve ilgili kayıtlar bulunacaktır. İşte indeksleme böyle bir durumda arama işlemini kolaylaştıracak bir düzenlemedir. Tablonun işe giriş tarihi alanı indeks alanı olarak düzenlenir. Ardından yapılacak arama işleminde kayıtlar işe giriş tarihine göre sıralı olarak okunacağı için arama işlemi daha hızlı olacaktır. Indexed (İndeksli) özelliği bir alanın indekslenerek tablodaki kayıtların o alana üzerinden daha hızlı bulunmasını sağlar.
 
İndeksleri Görme ve Değiştirme
 
Bir tablonun indeks alanlarını görmek için view (Görünüm) menüsünden indexes (İndeksler) komutu seçilir ya da Indexes düğmesine basılır. Tablonun indeks alanlarının yanısıra varsa ana anahtar alanı da İndeksler listesinde yer alır.
 
İndeksler penceresinde herhangi bir indeks satırı seçilerek DEL tuşuna basılarak silinebilir. Ascending (Artan) ve Descending (Azalan) sıralamanın tipidir. Artan sıralama A'dan Z'ye ya da küçükten büyüğe anlamındadır. Azalan sıralama ise bunun tam tersidir.
 
Çok-Alanlı Bir İndeks Yaratma
 
•        İndeksler penceresinde çok alanlı (multiple-field) bir indeks yaratılacaksa önce yeni bir satır açılır.
•        Bu işlem için seçilen bir satırın üzerine ekleme (insert) işlemi yapılır.
•        Bu işlemi yapmak için önce üzerine satır eklenecek satır seçilir.
•        Farenin sağ tuşuna basılarak kısayol menüsü elde edilir.
•        Insert Row (araya satır ekle) komutu seçilerek indeksler listesinde araya yeni bir satır eklenir.
•        Yeni yaratılacak bir indeks bir ya da daha çok alana (multiple-field) dayalı olabilir. Bu durumda indekse bir grup adı verilir.
•        Alanlar birer birer seçilir.
 
Lookup
 
Tablo alanlarının tasarımında düzenlenen diğer bir özellik de alanlara arama (look up) özelliğinin verilmesidir. Arama özelliği verilen alan tablonun veritablosu görünümünde ve form görünümünde Combo Box ya da List Box olarak yer alır ve kullanıcının değerleri seçerek kolayca girebilmesini sağlar.
Alana arama özelliği düzenlemek için alan tasarımında özellikler alanında Lookup tabı seçilir ve alanın arama ile ilgili seçenekleri düzenlenir.
6.   Sorgu Yaratmak
Bir sorgu yaratmak için New query düğmesine basılır. Bir tablo seçildikten sonra yeni nesne (new object) düğmesinden yeni sorgu seçilerek bir sorgu yaratıIır. Bir sorgu yaratmak için önce Database penceresinden Query seçilir. New (Yeni) düğmesine basılır.
 
Bir sorgu yaratmak için değişik yollar vardır.
 
Design view   Sorgu Tasarım Görünümü
Simple Query Sihirbazı   Basit Sorgu
Crosstab Query Wizard   Çapraz-tablo Sorgu Sihirbazı
Find Duplicates Query Wizard   Tekrarları Bul Sorgu Shirbaıı
Find Unmatched Query Wizard   Eşleşmeyenleri Bul Sorgu Sihirbazı
 
6.1   Design View
Design view düğmesine basılarak yeni bir sorguya başlandığında önce hangi tablo ve  sorguların bu yeni sorguda kullanılacağı sorulur. Kullanıcı iletişim kutusundan yeni sorguda kullanılacak olan tablo ve sorguları seçer.
Veritabanı penceresinden sorgular (Queries) ve new (Yeni) düğmesine basılır. Ardından sorguda kullanılacak tablolar seçilir. Seçimde, CTRL tuşu ile çoklu seçim ya da SHIFT tuşu ile de ardışık seçim yapılabilir. Sorguya katılacak nesneler, Tables (Tablolar), Queries (Sorgular) ya da ikisi birden (Both) tabı ile seçilir.
Seçilen elemanların ardından Add (Ekle) düğmesine basılarak sorgu penceresine geçilir. Sorgu penceresinde, seçilen tablolar arasında bir ilişki varsa o da otomatik olarak görülür. Başta seçilip sorgu penceresine eklenen tablolardan başka tabloların da sorguya katılması için Query (sorgu) menüsünden Show Table (Tablo Göster) komutu kullanılır ya da Add Table düğmesine basılır.
Sorgu penceresinde, yeni bir tablo eklemek ya da çıkarmak için farenin sağ tuşu da kullanılır. Seçilen bir tablo üzerinde ya da tablolar alanında boş bir yere fare ile tıklanarak tablo ekleme (Show Table) ya da tablo çıkarma (Remove Table) işlemi sağlanır. Aynı şekilde sorgu penceresinde seçilen tablonun üzerinde farenin sağ tuşuna basılarak elde edilen kısayol menüsünden remove Table (Tablo Çıkar) komutu seçilir.
Sorgu penceresinde, tablolar yerleştirildikten sonra gereksinim durulan alanlar seçilir ve sorgu penceresinin alt tarafına alınır. Ardından alanlar üzerinde gereken düzenlemeler (kriter vb) yapıldıktan sonra sorgunun çalıştırılmasına geçilir.
Yeni bir sorguya başlandığında ekrana sorgu penceresi (query window) gelir. Üzerinde sorgulama işlemlerinin yapıldığı grafik ortam olan sorgu penceresine Örneklerle Sorgu (Query by Example) QBE denir.
6.1.1   Qbe (Query By Example)
QBE (Query By Example), değişik sorgulama dillerinin bir uzantısıdır. QBE'nin amacı kullanıcının profesyonelce bir sorgulama dili kullanmadan grafik bir ortamda kullanıcının sorgulamasını geliştirmesidir.
Diğer bir deyişle QBE bir sorgulama tekniğidir. Bir sorgulama dili değildir. QBE, kullanıcının sorulara yanıt vererek karmaşık bir sorguyu geliştirmesini sağlar.
QBE önce veritabanından ilgili tabloların seçilmesiyle başlar. Ardından sorgulamanın yapılacağı kolonlar belirlenir. Örneğin: Müşterinin Adı QBE satırlarında eşittir, eşit değildir, büyüktür vb. ifadeler kullanılır. Bunun dışında QBE satırlarında SQL komutları da kullanılabilir.
6.1.2   Sorgu Penceresi
Sorgu penceresinde üç ayrı görünüm sağlanabilir.
 
•        Design View Design View (Tasarım Görünümü)
•        Datasheet View (Veritablosu Görünümü) sı
•        SQL View (SQL Görünümü)
 
Tasarım görünümü sorgu penceresinin normal kullanımıdır. Kullanıcı bu ekranı kullanarak sorgusunu tasarlar.
Veritablosu görünümünde; sorgunun sonucunda oluşan veri alt seti (Dynaset) görünür. Diğer bir deyişle sorgu sonucunda elde edilen kayıtlar (çıktı) alınır.
   SQL Görünümünde, sorguyu oluşturacak SQL deyimlerinin yazılacağı (ya da oluşturulan sorgunun SQL karşılığı) pencere ekrana gelir.
Bir sorgu yaratırken önce sorg uya konu olacak ya da sorguda alanlarına gereksinim duyulacak olan tablolar seçilir. Ardından tablo alanları sorgu içine dahil edilir. Bir tablonun herhangi bir alanını sorgu alan bölümündeki kolonlara yerleştirmek için alan fare ile istenilen kolonun üzerine bırakılır. Tablolardan birden çok alanın seçilmesi için CTRL ve SHIFT tuşları kullanılır. SHIFT tuşu ile ardışık alanlar bir seferde seçilir. CTRL ile ardışık olmayan çok sayıda alan seçilir.
Bir tablodan bir alan sorgu alanına alındıktan sonra, o kolona ait olan alan listesi açılarak istenilen alan seçilerek alanın değiştirilmesi sağlanır. Alan listesi açılarak istenilen alan seçilir ve alan eski alanın yerine getirilir.
Bir tablonun tüm alanları sorguya katılacaksa o zaman tablo alanlarının üzerinde yer alan yıldız (*) karakteri kullanılır. Yıldız karakteri fare ile seçilerek sorgu alanına (ilk kolona) bırakılır. Yıldız karakterinin bir kolaylığı da ileride tabloda yapılacak alan değiştirme (ekleme/çıkarma) işlemlerinin sorguya otomatik olarak yansımasıdır.
Sorgu alanına tablonun tüm alanlarını eklemenin diğer bir yöntemi de tablo başlığında çift tıklayarak tablonun tüm alanlarının seçilmesi ve daha sonra seçilmiş alan grubunun bir seferde sorgu alanına eklenmesidir.
Şu andan sonra sorgunun işletilmesi gerekecektir. Bu işlem için Veritablosu görünümü (datasheet view) ya da Çalıştırma (Run) düğmesi kullanılır. Çalışmakta olan (sonuçları üretmekte olan) sorgunun kesilmesi (durdurulması) için CTRL+BREAK tuşları kullanılır.
6.2   Simple Query Wizard
Basit sorgu sihirbazı (simple query wizard) ile yaratılan sorgular, bir tablodan belli alanların seçilmesini sağlarlar. Bu sorgularda kriterler ve diğer işlemler bulunmaz.
 
•        Veritabanı penceresinden sorgu (Queries) seçilir.
•        New (Yeni) düğmesine basılır.
•        Sorgulanacak tablo ve alanların seçildiği iletişim kutusu ekrana gelir. Ardından sorgunun adı yazılır.
•        Daha sonra yaratılan sorgu veritabanında oluşturulur.
•        Basit sorgular bir ya da daha çok tablodan belli alanların (kolonların) seçilerek listelenmesini sağlar.
•        Yaratılan sorguda daha sonra istenirse tasarım görünümüne geçilerek sorgu için kriterler tasarlanabilir.
6.3   Crosstab Query Wizard
Crosstab (çapraz) sorgular çalışma tablosu biçiminde bir tablonun elde edilmesini sağlar.
 
•        Veritabanı penceresinden sorgu (Queries) seçilir.
•        New (Yeni) düğmesine basılır.
•        Üzerine çapraz sorgu kurulacak olan tablo seçilir.
•        Tablodan sorguya eklenecek alanlar seçilir. (Önce satırları oluşturacak alan seçilir)
•        Tablonun ortasında hesaplanacak alan seçilir. (Örneğin tutar, miktar vb.)
•        Tablonun kolonlarının başlığını oluşturacak alan seçilir.
•        Sorgunun adı verilir.
 
6.4   Find Duplicates Query Wizard
Tekrar sorgusunda (Duplicates Query) tablonun belli bir alanında bulunan tekrar eden bilgiler bulunur.
 
•        Veritabanı penceresinden sorgu (Queries) seçilir.
•        New (Yeni) düğmesine basılır.
•        Tablo seçilir.
•        Tekrar bilgisi aranacak olan alan seçilir.
•        Tekrar bilgisi olan alanın yanısıra ek diğer bazı alanlar da listelenebilir.
•        Sorgunun adı verilir.
6.5   Find Unmatched Query Wizard
Eşleşmeyenler (uymayanlar) sorgusu iki tabloyu karşılaştırır. Bir tabloda bulunup da diğer tabloda olmayan kayıtların istenilen alanlarını listeler. Pratikte bir tabloda olan kayıtların belli bir alan üzerinden diğer bir tabloda olup olmadığı karşılaştırılır.
 
•        Veritabanı penceresinden sorgu (Queries) seçilir.
•        New (Yeni) düğmesine basılır.
•        Ana tablo seçilir. Örneğin satışları olmayan (satış tablosunda kaydı olmayan) müşteriler sorgulanacaksa o zaman müşteriler tablosu ana tablo olarak seçilir.
•        Daha sonra sorgunun adı verilir.
•        Yardımcı tablo seçilir.
•        İki tablo arasındaki ilişki hangi alan üzerinden kurulacaksa o seçilir.
 

7
Bilgisayar Dershanesi / Re: Access Kurs Planı
Last post by Karamsar - Feb 23, 2019, 10:42 AM
Ders 9 DERS 9: INTERNET VE INTRANET ÖZELLİKLERİ
 
Dersin sonunda yapabilecekleriniz: 
 
-Microsoft Access'in Internet ve Intranet özelliklerini açıklamak. -Data Pages bölümünü öğrenmek. -Access nesnelerini Web sayfası olarak kaydetmek.
 
I. INTERNET VE INTRANET ÖZELLİKLERİ Günümüz koşulları, bütün uygulamaları Internet'e erişim ve kendi verilerini Internet'te yayımlama özelliklerine sahip olmak zorundadırlar. Bu hafta Microsoft Access'in bu alandaki bazı özelliklere değineceğiz. 
 
Microsoft Access'in Internet ve Intranet Özellikleri üç ana başlıkta ele alınabilir: 
 
-Access'ten Intranet'e ve Internet'e erişmek. -Access'le Web sayfası oluşturmak. -Access ile Web sayfalarını yayınlamak. 
 
A. ACCESS'TEN INTRANET'E VE INTERNET'E ERİŞMEK Microsoft Access'ten Internet ve Intranet'de yer alan Web sayfalarına erişebilmek için Web araç çubuğu kullanılır. 
 
Web araç çubuğu, Internet bağlantısının olduğu bir bilgisayarda aynı Internet Explorer gibi kullanılır. Araç çubuğu üzerinde ileri, geri, Favorites gibi düğmeler yer alır. Go düğmesiyle istenilen bir Web sayfasına erişilir. 
 
1. ACCESS İLE WEB SAYFASI OLUŞTURMAK Access ile üç tür Web sayfası yaratılabilir: 
 
-Data Pages (Sayfalar) bölümünde yaratılan sayfalar.   -Sunucu tarafında oluşturulan HTML sayfa. -Durağan (statik) HTML sayfaları.
 
Data Pages Sayfaları: Data Pages (Sayfalar) olarak düzenlenen sayfalar, Access ve SQL Server üzerindeki verilere Internet Explorer üzerinden erişimini sağlar. Bilmemiz gereken şey, Access bize, bir veritabanına bağlı bir HTML sayfa yaratır. Bu sayfa farklı bir yere kaydedilir. Ardından, Internet Explorer ile açılarak veri girişi yapılır. 
 
Bir Data Page Oluşturmak 1. Data Page (Sayfalar) bölümü seçilir.  2. New (Yeni) düğmesi tıklanır.  3. Design, Existing Page ve Page Wizard seçeneklerinden birisi seçilir. 
 
Bir Data Page (Veriler) yaratmak aynı form yaratmaya benzer. Yukarıdaki seçenekleri aynı bir form yaratır gibi kullanabilirsiniz. Page Wizard ile istenilen tablonun Data Page olarak oluşturulmasını sağlayabilirsiniz. 
 
Ardından yaratılan bu sayfa kaydedilir. Dosyanın formatı, Access'e özel dinamik HTML'dir. HTML formatlı bu dosyalar Internet Explorer ile açılarak veritabanına erişilir. 
 
NOT: Bir veritabanına Internet Explorer üzerinde erişmek gerçekten çok kullanışlı bir şeydir. Özellikle Intranet uygulamaları bakımından çok iyi bir çözüm olabilir. Ancak bu çözüm DHTML ile istemci taraflı bir çözümdür. Programcılık dünyasında bildiğimiz diğer bir çözüm: ASP'dir. ASP, Web programcılığı alanında sunucu taraflı bir çözümdür. Yaratılan ASP sayfaları da aynı Access Data Page'leri gibi Internet Explorer aracılığıyla açılarak kullanılır. 
 
Sunucu Tarafından Oluşturulan HTML Belgeler: Microsoft Access, tablo, sorgu ya da formları File, Export komutuyla ASP olarak kaydedilebilir. Access ile yaratılan ASP dosyaları Web sunucusu üzerine kopyalanarak bir Web uygulaması olarak çalıştırılır. Böylece veritabanlarına Internet Explorer üzerinden erişim sağlanır. 
 
B. ASP SAYFALARINI ÇALIŞTIRMAK ASP dosyaları bir öndeki konuda adı geçen ortamlarda hazırlandıktan sonra herhangi bir derleme işlemi olmadan doğrudan çalıştırılırlar. Eğer hata varsa bu çalıştırma sürecinde ortaya çıkar. ASP dosyasını adı Internet Explorer ya da diğer bir tarayıcı program aracılığıyla yazılır ve dosyaya erişim sağlanır.
 
Örnek çağırmalar: 
 
http://localhost/test.asp
 
ASP dosyası bir alt dizinde olabilir: 
 
http://localhost/altdizin/test.asp
 
Hazırlanan ASP dosyalarının uzantısı .asp dir. Bu dosyayı çalıştırmak için Web sunucusu üzerinde wwwroot dizinine konması gerekir. Bunun dışında Internet Information Server'ın WWW hizmetinin çalışması ya da PWS hizmetinin çalışması gerekir. Asp dosyalarını çalıştırmak için önce dosya wwwroot dizinine kopyalanır ardından Internet Explorer adres çubuğunda http://localhost/kitapornek3.asp şeklinde yazılarak çalıştırılır.
 
Durağan HTML: Tablolar, sorgular ve formlardan yine Export yoluyla HTML sayfaları oluşturulabilir. Ancak bu onların statik olarak; tıpkı bir Word dokümanı gibi görünmesini sağlar.  Bu sayfalara Internet Explorer tarafından erişilebilir. Yine ASP sayfaları gibi de Web dizininden yayımlanabilir. Ancak HTML sayfaları dinamik değildir.  Export etmek için:  1. Veritabanı penceresinde tablo ya da sorgu seçilir.  2. File (Dosya) menüsünden Export (Ver) komutu seçilir.  3. Save as type kutusundan istenilen Active Server Pages seçilir.
 
Durağan HTML için yalnızca HTML seçilir. 
 
4. File Name kutusuna dosyanın adı girilir.  5. Export Text Wizard devreye girerek istenilen çevirme işlemini yapmanızı sağlar. 
II. WEB KLASÖRLERİ Web server, Inetpub\wwwroot varsayılan dizinine konulan dosyaları yayınlayan bir sunucudur. Bu hizmet, IIS (Internet Informatin Server) tarafından sağlanır. 
 
Microsoft Access'te hazırlanan bir Data Page'i Web sunucuna kaydetmeyi, Access kendisi yapabilir. Bu işlem için File menüsünden Save As komutu ile Web sunucusunun yayın dizini (inetpub\wwwroot) seçilir.  Bir Microsoft Access Data Page sayfasını bir Web sunucusuna kaydetmek:  1. Veritabanı penceresinde, Data Page (Sayfalar) bölümünü  seçin.  2. İstediğiniz data page sayfasını çift tıklayın. 3. File (Dosya) menüsünden, Save As (Farklı Kaydet) seçeneğini tıklayın. 4. As Data Pages (Sayfalar) seçeneğini seçin.  5. Web folders (Web klasörlerini) seçeneğini tıklayın. 6. Web klasörü siteleri listesinden, istediğiniz klasörü çift tıklatın ve sonra data pages'ı kaydetmek istediğiniz konumu çift tıklayın. 7. Kaydet'i tıklayın. 
 
Varsayılan yayın klasörleri: c:\inetpub\wwwroot
 
II. UYGULAMA Bir Data Page (Sayfalar) Oluşturun: 1. Veritabanı penceresinde Data Pages (Sayfalar) bölümü seçilir.  2. New (Yeni) düğmesi tıklanır.  3. Page Wizard seçeneği seçilir. 
 
Yarattığınız data sayfasını My Documents dizinine dosya1 olarak kaydedin. Ardından bu dosyayı Internet Explorer aracılığıyla açın. 
 
III. GÖZDEN GEÇİRME 1. Microsoft Access'in Internet ve Intranet özellikleri nelerdir? 2. Bir Data Pages sayfasının normal Access formunda farkı nedir? Bir uygulama için bu farkları yorumlayın. 3. Web klasörü (web folder) nedir? Hangi işletim sistemi ortamında ve hangi uygulamalarla (IIS gibi) sağlanır.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ders 10 DERS 10: BİR VERİTABANI PROJESİ YAPMAK
 
Dersin sonunda yapabilecekleriniz: 
 
-Bir veritabanı uygulaması projesi yapabilmek. -Uygulamanın ayrıntıları tasarlayabilmek.
 
I. BİR ACCESS PROJESİ Verileri, işlemleri ve çıktıları tasarlamak bir veritabanı projesinin en önemli işlemleridir. Bir Microsoft Access © projesi, yapılan analiz çalışmalarıyla başlar. Analiz çalışmaları, olaylar, verilerin toplanması, işlenmesi, kullanıcı gereksinimleri gibi değişik alanlarda yapılan araştırma ve belgeleme çalışmalarıdır. Çok önemli olan bu analiz çalışmaları, ne yazık ki çok fazla yapılmadan hemen Access başlatılır ve veritabanı dosyası açılır. İşte burada Microsoft Access'in diğer Office uygulamalarından farkı ortaya çıkar. Microsoft Excel ya da Microsoft Word için hemen başlanılan bir çalışma söz konusu iken, Microsoft Access, temel bir çalışma gerektirir. 
 
II. MİCROSOFT ACCESS UYGULAMASI  FC ecza  deposu bin kadar üyesine ilaç toptan ilaç pazarlamak üzere kurulmuştur. FC ecza ilaç siparişlerini takip etmek için bir veritabanı geliştirmek istemektedir. Siz bir veritabanı yöneticisi olarak Microsoft Access ile veritabanını geliştirin.
 
Sipariş sisteminin yanı sıra bir süre sonra FC ecza deposu müşterileri için bir anket yapmaya karar vermiştir. Anketler de veritabanına bir metin bilgisi olarak eklenecektir. Bu koşullar altında; tabloları ve kayıtların birbiriyle bütünlüğün sağlayacak olan olası ilişkileri tanımlayın.
 
Tablo Olarak Düzenlenecek Bilgiler: 
 
STOK KARTI MUSTERİ KARTI SİPARİŞ ANKET Kodu   Kodu   Tarih  Kodu Tanımı   Unvanı   Sip No  Anket Metni Grup Kodu  Grubu   Mus Kodu  Satıcı Firma  Adresi   Stok Kodu  Birimi   İlçesi   Birimi  Birim Fiyatı  İli   Adet  KDV   Tel   Ta şıyıcı Firma  Depo Kodu  Fax   Siparişi Alan  Paket Kodu  Vergi Dairesi   Açıklama  Vergi No   Resmi   Kredisi     Hesap Açılış Tarihi     Resmi      Web sitesi   
 
 
PERSONEL (SİPARİŞİ ALANLAR) TAŞIYICI FİRMA Kodu  Kodu Adı Soyadı Ünvanı Adresi  Adresi
İli  İli İşe Giriş Tarihi Güzergah   
 
Tabloları Düzenleyin:  1. Access'i başlatın.  2. Boş veritabanı yaratma seçeneğini (Blank Access database) seçin.  3. Dosya adı olarak ornekdb yazın.  4. Veritabanı penceresine ulaşın. 
 
Yeni bir tablo yaratmak için Veritabanı Penceresinde, Tables bölümü ve ardından New seçilir:
 
Yeni tablo yaratmak için " Create table in Design view " seçeneği seçilir. 
 
Ardından yukarıdaki tablo bilgilerine göre alan adları birer birer girilir. Bu sırada dikkat edilecek en önemli konu alanın türüdür. Örneğin sayısal (numeric) ya da metin (text).
 
Bu arada tabloların işleyişiyle ilgili aşağıdaki notları göz önünde bulundurun: 
 
•        Birim fiyatlar genellikle "Adet" olarak düzenlenecektir.  •        Fiyat ve adet bilgilerine mutlaka pozitif bir değer girilecektir.  •        Sipariş tarihi "günün" tarihi olarak otomatik olarak düzenlenecektir. •        Grup kodları, iller ve diğer seçenekli girişler bir combo box olarak düzenlenecektir.  •        Sipariş ekranındaki; müşteri kodu, stok kodu ve taşıyıcı firma combo olarak düzenlenecektir (Lookup Wizard) ve bilgilerin diğer tablodan otomatik olarak seçilmesini sağlayacaktır. 
 
İlişkileri Kurmak: İlişkiler (Relationships), bilgi bütünlüğü sağlamak için tablolar arasında düzenlenen kurallardır. Müşteri tablosuyla Sipariş tablosu arasında bir ilişki kurmak için önce ilişkinin türü ve ilişki kurulacak alanlar ve türlerinin belirlenmesi gerekir. 
 
Örneğin müşteri tablosundaki müşteri kodu alanıyla sipariş tablosun yer alan müşteri kodu birbirine bağlanır. Ancak burada müşteri tablosundaki kodu alanı Primary Key olmalıdır. Sipariş tablosundaki müşteri kodu alanının Primary Key gibi bir düzenlenmesine gerek yoktur. Bu durumda Müşteri tablosuyla Sipariş tablosu arasıda Bir-Çok ilişki kurulabilir. 
 
Veritabanı içindeki tablolar arasında ilişki kurmak, yukarıda anlatılanlardan dolayı hem zordur, hem de gerçek bir veritabanı uygulaması için gerekli bir şeydir. 
 
Veritabanındaki diğer ilişkiler: 
 
Müşteri-Sipariş Müşteri-Anket Stok-sipariş Personel-sipariş Taşıyıcı firma-sipariş arasındaki ilişkileri kurun. 
 
 
 
Sorgular tasarlamak:  Sorgular (queries), veritabanında (tablolarda) yer alan verilerden istenilen bilgileri listelemektir. Örneğin belli tarihler arasında ya da yalnızca belli müşteriler için bilgileri listelemek gibi. 
 
Yeni bir sorgu yaratmak için önce veritabanı penceresinden Queries seçilir. Ardından New düğmesine basılır: 
 
Bir sorgu yaratmak için değişik yollar vardır. Bunlardan Design View/Tasarım Görünümü seçilir. 
 
Örnek sorgulama senaryoları: 
 
•        Müşterilerin ili içinde grubu, grubu içinde alfabetik sırada ünvanlarının yer aldığı liste. •        Adının ilk harfi  A-D arasında olan müşteriler? •        Verilen iki tarih arasında (parametrik) siparişlerin adet ve tutarları? •        Verilen iki tarih arasında ve belli bir müşteri konu için siparişlerin adet ve tutarları? •        Verilen iki tarih arasında ve belli bir müşteri ve siparişi alan eleman olarak siparişlerin adet ve tutarları? •        Verilen iki tarih arasında, belli bir müşteri, belli bir mal ve siparişi alan eleman olarak siparişlerin adet ve tutarları? •        Malların KDV oranlarını 15 olanların 20'ye çevrilmesi. •        En yüksek sipariş alan elemanı bulmak için elemanların sipariş toplamlarını gösteren bir sıralı liste (azalan). •        Hiç siparişi olmayan müşterilerin alfabetik sırada listesi. •        İli "İzmir" olan ve telefon numarasının ilk karakteri 4 olan müşterilerin alfabetik sırada listesi. •        İli "İzmir" ya da "Manisa" olan müşterilerin il içinde alfabetik sırada listesi.  •        Sipariş adedi olarak en çok mal taşıyan taşıyıcı firma? •        Sipariş alan elemanların toplam (tutar) siparişleri. •        Stokta Birim fiyatlara %10 zam. •        Sadece belli gruptan olan stokların birim fiyatlarına %10 zam. •        Stokların depo kodunun ilk iki karakteri ile tanımlarının ilk iki karakterinin birleşiminin listesi.  •        Sipariş toplamlarının taşıyıcı firma güzergahlarına göre listesi.
 
 
Form yaratmak: Tablolardaki verileri, sorgulardan elde edilen verileri görmek, veri girişi yapmak, hatta veriler üzerinde hesaplama işlemleri yapmak için formlar kullanılır. 
 
Bir form yaratmak için veritabanı penceresi kullanılır. Buradan Forms tabına tıklanarak mevcut formlar görülür ya da yeni bir form yaratılır. Burada New düğmesine tıklanarak istenilen şekilde form yaratılır: 
 
 
 
 
 
 
Yeni bir form yaratmada kullanılan yöntemler şunlardır: 
 
Yöntem    Açıklama Design View (Tasarım Görünümü)  Boş form oluşturulur ya da seçilen tablo ya da sorgunun alanları tasarlanır.  Form Wizard (Form Sihirbazı)  Adım adım istenilen alanların seçilip bir form oluşturulur. AutoForm: Columnar   Otomatik Form: Sütunlu  Sütun tipinde (bir sayfada bir kayıt) form yaratır. Özellikle müşteri kartı, stok kartı,  personel kartı gibi verilerin gösterimi için idealdir. AutoForm: Tabular Otomatik Form: Sekmeli Yatay olarak bir sayfada çok sayıda kayıtın yer aldığı formlardır. Özellikle cari hareket, stok hareket, sipariş kayıtları gibi veriler için idealdir. 
 
Olası form senaryoları: •        Stok kartı için columnar bir form •        Müşteri kartı için columnar bir form •        Anket için columnar bir form •        Personel için columnar bir form •        Taşıyıcı için columnar bir form •        Sipariş için tabular bir form Yapılacaklar (b) •        Müşteri formu için olası alanlara combo box ekleyin. •        Müşteri formu için olası alanlara Validation Rule ekleyin. •        Müşteri formu için form zeminini değiştirin. •        Müşteri formunun altına kendi hazırladığınız bir bitmap dosyayı koyun. •        Müşterinin Web sitesi bilgisini tablo tasarımına ekleyin. Daha sonra bunun form üzerinden girilmesini sağlayın. Web sitesi alanına www.microsoft.com girin. Ardından üzerine tıklayarak ona ulaşmaya çalışın. •        Sipariş formunun alt başlık kısmına adet toplamı alın. •        Sipariş formunda birim fiyat ve tutarın görünmesini sağlayın. •        Sipariş formunun alt başlık kısmına tutar toplamı alın. Ayrıca altına KDV'li toplamı hesaplattırın. •        Sipariş formunda taşıyıcı firma ve siparişi alan müşterinin combo'larla seçilmesini sağlayın. •        Sipariş formunu Scroll Bar ve Navigation Button kontrollerini kaldırın. •        Müşteri kartı ile sipariş formunu birleştirin. 
 
Yapılacaklar (c) •        Müşteri formuna ve personel formunda tarih alanlarına veri girişi kolaylaştırmak için ActiveX kontrollerinden (Tool, ActiveX Controls)  Calendar Control 8.0'ı koyun ve çalışmasını kontrol edin.
 
Yapılacaklar (d) •        Bir ana menü formu geliştirin. •        Bütün formlara ulaşacak düğmeler yerleştirin. •        Bütün formlardan ana menüye dönüşü sağlamak için Exit düğmeleri yapın. •        Müşteri gruplarının toplam siparişlerini gösteren grafik formu hazırlayın.
Rapor yaratın: 
 
Tablolardaki verileri yazıcıdan çıkarmak için kullanılacak raporlar, özellikle ara toplam, alt toplam gibi gruplama (grouping) işlemlerinin yapılmasını sağlar. 
 
Yeni bir rapor tasarlamak için veritabanı penceresinden Reports bölümü seçilir. Ardından New seçeneği ile rapor yaratma seçeneklerine ulaşılır:
 
Rapor oluşturma seçenekleri
 
Yöntem    Açıklama Report Wizard (Rapor Sihirbazı) Adım adım istenilen alanların seçilip bir raporun oluşturmasını sağlar. Rapor yaratmada en kolay yoldur.  AutoReport: Columnar Sütun tipinde (bir sayfada bir kayıt) rapor yaratır. Özellikle müşteri kartı, stok kartı, personel kartı gibi verilerin gösterimi için idealdir. AutoReport: Tabular Yatay olarak bir sayfada çok sayıda kayıtın yer aldığı raporlardır. Özellikle cari hareket, stok hareket, sipariş ve satış kayıtları gibi veriler için idealdir. 
 
Raporlar verilerin düz ya da gruplanarak ekrandan (preview) ya da yazıcıdan bastırılması işlemidir. 
 
Olası rapor senaryoları:  •        Siparişlerin tarih, müşteri kodu ve ürün kodu sıralı listesi. •        Müşteri koduna göre gruplamalı sipariş bilgileri raporu. •        Haftalık tarih gruplamalı sipariş bilgileri raporu. •        Ürün koduna göre gruplamalı sipariş bilgileri. 
 
III. NEREDEN BAŞLAMAK GEREKİR? Aslında Access projelerine, diğer uygulama yazılımı projelerine başlar gibi, çıktıları tasarlamakla başlanır. Bu da Access'ten elde edilecek görüntü ve raporlara kimin ihtiyacı olduğunu ve tam olarak neye ihtiyacı olduğunu ortaya çıkarmakla başlar. Ardından Access veritabanın tasarımına geçilir. Tablolar, tabloların alanları, anahtar (primary key) ve indeks düzenlemeleri yapılır.  Ardından sorgular tasarlanır. Sorgular, gereksinim duyulan spesifik bilgiler için hazırlanırlar.  Ardından test amaçlı veri girilip sorgular test etmek gerekir.  Daha sonra da veri girişi için formlar tasarlanır.  Yine verileri görmek için formlar tasarlanır.  Belli çıktıları yazıcıdan düzenli olarak almak için raporlar tasarlanır.
 
 
 
 
 
 
 
 
 
 
 
1 - Hangisi Microsoft Access 2000© 'in yeniliğidir? 
n m l k j
A) Nesneleri gruplamak. 
n m l k j
B) Startup formu yaratmak. 
n m l k j
C) Otomatik form ve rapor yaratmak. 
n m l k j
D) Yaratılan nesnelerin yedeklerini saklamak. 
 
2 - Data Access Pages (Sayfalar) ile yaratılan formun varsayım dosya uzantısı nedir? 
n m l k j
A) ASP
n m l k j
B) HTM
n m l k j
C) INI
n m l k j
D) XML
 
3 - Access için Administrative Setup yapılacaksa hangi komut ve parametre kullanılır? 
n m l k j
A) Setup.exe /a 
n m l k j
B) Install.exe /admin 
n m l k j
C) Setup.exe /a: /network 
n m l k j
D) Setup.exe /admin 
 
4 - Bir Rapor neye (nelere) dayalı olarak yaratılabilir? 
n m l k j
A) Tablo 
n m l k j
B) Tablo ve Query 
n m l k j
C) Form 
n m l k j
D) Tablo, Query, Form ve Data Access Pages 
 
5 - Veritabanı özelliklerinden Statistics hangi amaçla kullanılır? 
n m l k j
A) Veritabanının güncellendiği tarihleri verir. 
n m l k j
B) Veritabanında yer alan kullanıcıların giriş ve çıkış tarihlerini verir. 
n m l k j
C) Veritabanının yazarı (author), konusu (subject) gibi konularda bilgi verir. 
n m l k j
D) Dosya büyüklüğündeki değişiklikleri takip etmeyi sağlar. 
 
6 - Bir kayıt içinde en çok kaç alan olabilir? 
n m l k j
A) 256 
n m l k j
B) 512 
n m l k j
C) 1024 
n m l k j
D) 2048 

 
7 - Hangi bir alan türü değildir? 
n m l k j
A) Number 
n m l k j
B) Currency
n m l k j
C) Yes/No. 
n m l k j
D) Data
 
8 - Autonumber olarak düzenlenen bir alan veri girişinin ardından number olarak değiştirilebilir mi? 
n m l k j
A) Evet 
n m l k j
B) Hayır
n m l k j
C) Text olarak değiştirilebilir. 
n m l k j
D) Double olarak değiştirilebilir. 
 
9 - Hangisi geçerli bir Validation Rule (Geçerlik Kuralı) kuralıdır? 
n m l k j
A) BETWEEN 1/1/2001 AND 31/12/2001 
n m l k j
B) IN (A TO Z) 
n m l k j
C) FOR 1 TO 10 
n m l k j
D) 10 AND > 100 
 
10 - Hangisi bir crosstab (çapraz) sorguyu en iyi açıklar? 
n m l k j
A) Verileri satır ve kolon olarak bir tablo biçiminde gösterir. 
n m l k j
B) Excel filtrelerine çapraz sorgu denir. 
n m l k j
C) Hem sütun hem satırdan kriter alınan sorgulardır. 
n m l k j
D) Verileri üç boyutlu gösteren ve küplere karşılık gelen sorgulardır. 
 
11 - Bir form üzerinde kaç bölüm vardır? 
n m l k j
A) Page Header/Footer 
n m l k j
B) Page Header/Footer - Form Header/Footer 
n m l k j
C) Page Header/Footer - Form Header/Footer - Rapor Header/Footer 
n m l k j
D) Page Header/Footer - Form Header/Footer - Detail 
 
 
 
 
 
 
 
 
 
12 - Rapor yaratırken yapılan gruplamanın (grouping) işlevi nedir? 
n m l k j
A) Kayıtların belli bir alan/alanlar için toplama (sum) gibi işlemleri yapılarak gruplanması sağlanır. 
n m l k j
B) Sayısal alanların toplanmasına gruplama denir
n m l k j
C) Primary Key alanına göre yapılan alt toplam alma işlemidir. 
n m l k j
D) Foreign Key alanına göre yapılan alt toplam alma işlemidir. 
 
13 - Bir alanın boş olduğunu kontrol eden makro kodu hangisidir? (Makro penceresi görünümünde). 
n m l k j
A) [kodu] IsNull MsgBox CancelEvent 
n m l k j
B) If [kodu] IsNull MsgBox CancelEvent 
n m l k j
C) [kodu] = " "l MsgBox CancelEvent 
n m l k j
D) [kodu] IsEmpty MsgBox CancelEvent 
 
14 - Verilen VBA kodunun görevi nedir? Private Sub Command14_Click() altalan= Mid(Forms![musteri]![musterikodu], InStr(Forms![musteri]![musterikodu], "/") + 1, 10) Forms![musteri]!Text15 = altalan End Sub 
n m l k j
A) Form üzerinde Tex15 diye bir metin kutusu yaratmak. 
n m l k j
B) musterikodu alanın içinde / karakterinden sonraki on karakteri alıp Text15 alanına yazar. 
n m l k j
C) musterikodu alanın içinde / karakterinden önce yer alan on karakteri alıp Text15 alanına yazar. 
n m l k j
D) musterikodu alanın içinde iki / karakteri arasındaki metnin alıp Text15 alanına yazar. 
 
15 - Bir rapordan alınan satırlar nasıl sıralanır? 
n m l k j
A) Daha önce bir sıralama için bir sorgu yazarak. 
n m l k j
B) Gruplama ve Sıralama işleminde Sıralama Düzeni'ni ve artan (asc) ya da azalan (desc) düzenini seçerek. 
n m l k j
C) Rapor tasarımında sıralanacak alanın özelliklerinden (properties) yararlanarak. 
n m l k j
D) Tabloda Primary key kullanarak. 
 
16 - Microsoft Access hangi kaynaklardan veri alamaz (import)? 
n m l k j
A) Informix 
n m l k j
B) Excel 
n m l k j
C) DBase 
n m l k j
D) Paradox 
 
 
 
 
 
 
 
17 - Form üzerinde bir metin kutusunda =Left([ÜrünAdi], 2) deyiminin işlevi nedir? 
n m l k j
A) Ürün adının uzunluğundan iki az olmak şartıyla soldan kalan kadarı alınır. 
n m l k j
B) Ürün adının sondan iki karakteri alınır. 
n m l k j
C) Ürün adının soldan iki karakteri alınır. 
n m l k j
D) Ürün adının sağından 8 karakter alınır. 
 
18 - Hangisi doğrudur?
n m l k j
A) =Formlar![Siparis]![Siparis Altformu]![Siparis Alttop] Siparis formunda bulunan Siparis Altformu'ndaki SiparisAlttop alanının değerini verir. 
n m l k j
B) =Formlar![Siparis]![Siparis Altformu]![Siparis Alttop] Siparis AltFormu formunun alt toplamının ana form üzerinde Siparis Alttop alanında gösterilmesini sağlar. 
n m l k j
C) =Formlar![Siparis]![Siparis Altformu]![Siparis Alttop].Tutar Siparis formunda bulunan Siparis Altformu'ndaki SiparisAlttop alanındaki bütün Tutar'ların toplamı değerini verir. 
n m l k j
D) =Formlar![ALL] Siparis formunda bulunan bütün sayısal değerlerin toplamı (SUM). 
 
19 - Hangisi One-to-Many ilişkinin hazırlık işlemidir? 
n m l k j
A) One ve Many tarafında en az bir Primary Key alan. 
n m l k j
B) One tarafında bir Primary Key alan. 
n m l k j
C) One tarafında bir Foreign Key ve Indexed alan. 
n m l k j
D) One tarafında ve Many tarafından en az bir Indexed alan. 
 
20 - Compact komutu ne işe yarar? 
n m l k j
A) Veritabanını sıkıştırmaya. 
n m l k j
B) Veritabanında silinen alanların yerini kazanmaya. 
n m l k j
C) Veritabanını CD'ye kopyalamaya. 
n m l k j
D) Veritabanını korumaya (recover). 
 
 
CEVAP ANAHTARI 
 
1- A             11- B 2- B             12- A 3- A             13- C 4- B             14- A 5- C             15- A  6- A             16- B 7- A             17- B 8- D             18- A 9- A             19- A 10- D           20- D
8
Bilgisayar Dershanesi / Re: Access Kurs Planı
Last post by Karamsar - Feb 23, 2019, 10:42 AM
Ders 6 DERS 6: RAPORLAR TASARLAMAK
 
Ders sonunda yapabilecekleriniz: 
 
-Bir rapor tasarlamak. -Raporlar aracılığıyla çeşitli alt toplam ve ara toplam gereksinimlerine yanıt verecek gruplama (grouping) yapmak.  -Raporları ekranda (önizleme) ve yazıcıda görmek.
 
I. RAPORLAR Raporlar (Reports) tablolarda yer alan ya da sorgularla elde edilen verilerin belli bir düzendeki ekrandan ön izlenmesini ya da basılı çıktı olarak alınmasını sağlar. Raporlar, verilerin sıralı ya da istediğini şekilde düzenli olarak yazıcıdan alınmasını, verilerin üzerinde gruplama ve hesaplamaların yapılmasını sağlayan bir araçtır. Örneğin bir satıcının aylık satışları listelendikten sonra onların alt toplamlarını almak, tarihe, koda, türe, tipe vb kriterlere göre ara toplamlarını almak, yine bu grupları istenildiği gibi sıralamak için raporlar kullanılır. Bunun dışında raporlar bölümü grafik yaratmak ve etiket çekmek için de kullanılır. 
 
Örnek satış bilgileri: 
 
Kodu grubu Borcu 1 ana 1000 1 ana 2000 2 ana 3000 2 ana 1000 1 ana 4000 1 ana 5000 3 toptan 1000 4 toptan 1000 5 ana 1000 1 ana 2000 1 ana 3000
 
Koda göre gruplanmış bilgiler: 
 
Kodu grubu Borcu 1 ana 1000 1 ana 2000 1 ana 4000 1 ana 5000 1 ana 2000 1 ana 3000 ara toplam  17000 2 ana 3000 2 ana 1000 ara toplam  4000 3 toptan 1000 ara toplam  1000 4 toptan 1000
ara toplam  1000 5 ana 1000 ara toplam  1000
 
 
A. RAPOR TASARIMI Raporlar (Reports) tablolarda yer alan ya da sorgularla elde edilen verilerin belli bir düzendeki basılı çıktılarıdır. Microsoft Access, verilerin yazıcıdan çıktısının alınması, verilerin üzerinde gruplama ve hesaplamaların yapılabilmesini sağlayan geniş bir raporlama olanağına sahiptir. Örneğin bir satıcının aylık satışları listelendikten sonra onların alt toplamlarını almak, tarihe, koda, türe, tipe vb kriterlere göre ara toplamlarını almak, yine bu grupları istenildiği gibi sıralamak için raporlar kullanılır. Bunun dışında raporlar bölümü grafik yaratmak ve etiket çekmek için de kullanılır. 
 
Raporlama, daha önceki bölümlerde yer alan form yaratma ve kullanımı konularına benzer. Raporlar normal olarak kullanıcı tarafından manuel olarak tasarlanarak yaratılabileceği gibi, Rapor Sihirbazı (Report Wizard) tarafından da yine adım adım hazırlanabilir. 
 
B. YENİ BİR RAPOR TASARLAMAK Yeni bir rapor tasarlamak için veritabanı penceresinden Reports bölümü seçilir. Ardından New seçeneği ile rapor yaratma seçeneklerine ulaşılır:
 
Rapor oluşturma seçenekleri
 
Yöntem    Açıklama Design View (Tasarım Görünümü)  Boş bir form ya da seçilen tablo-sorgunun alanlarını rapor tasarım alanına getirir.  Bu yöntem ile rapor tasarlamak için alanların seçilmesi ve rapor üzerine yerleştirilmesi gerekir.  Report Wizard (Rapor Sihirbazı) Adım adım istenilen alanların seçilip bir raporun oluşturmasını sağlar. Rapor yaratmada en kolay yoldur.  AutoReport: Columnar   Sütun tipinde (bir sayfada bir kayıt) rapor yaratır. Özellikle müşteri kartı, stok kartı, personel kartı gibi verilerin gösterimi için idealdir. AutoReport: Tabular Yatay olarak bir sayfada çok sayıda kayıtın yer aldığı raporlardır. Özellikle cari hareket, stok hareket, sipariş ve satış kayıtları gibi veriler için idealdir.  Chart Wizard (Grafik Sihirbazı)  Grafik oluşturur. Label Wizard (Etiket Sihirbazı)  Özel etiket formlarına istenilen bilgilerin (adreslerin) basılmasını sağlar. 
 
C. RAPOR SİHİRBAZI  Rapor sihirbazı bir tablo ya da sorgu üzerine bir raporun en ayrıntılı biçimde tasarlanmasını adım adım sağlar.
 
1. Raporda kullanılacak tablo ya da sorgu seçilir. 2. Ardından raporda yer alacak alanlar seçilir: 
 
Alanların seçimi için; Available Fields listesinden seçilen alanlar birer birer ya da toplu olarak Selected Fields listesine eklenir. 

 Seçilen alanların ardından Next düğmesine basarak yeni bir iletişim kutusuna geçilir. Raporda gruplama yapılıp yapılmayacağı sorulur. Groupings kayıtların belli bir alana göre ara toplamlarının (toplam, ortalama, vb) alınmasını sağlar. Örneğin satış raporunda bölge ara toplamlı tüm satışlar. Ya da tarih alanında aylık ara toplamlı, satıcı kodu ara toplamlı ya da bunların değişik birleşimleriyle iç içe seçilmiş gruplama alanlarıyla düzeylendirilmiş bir rapor yaratılır. 
 
3. Gruplanacak alan seçilir ve işlem (sum ya da avg gibi): Varsayım olarak Access ana anahtar olan alana göre raporu gruplar. 
 
Bu arada istenirse Grouping Options düğmesine basılarak ; gruplama yapılacak alanla ilgili olarak aralık belirlenir. Gruplama yapılacak alan text ise ilk karakterlerine göre gruplama yapılabilir. Sayısal ise 1, 10, 100'lü gruplar düzenlenebilir. Alan tarih bilgisi ise hafta, ay, yıl gibi aralıklar düzenlenebilir. 
 
Son adımda raporun yerleşimi ve formatı seçilir. 
 
D. RAPORUN GÖRÜNÜMLERİ Yaratılan bir raporun üç görünümü vardır: 
 
-Tasarım Görünümü (Design View) -Yerleşim Önizleme (Sample Preview) -Baskı Önizleme (Print Preview)
 
Rapor tasarımında raporun bölümleri ve alanları görülür ve değiştirilir.  Örneğin Print Preview görünümünde ise rapor tasarımının yazı tipleri ve yerleşimi denetim edilir. Baskı ön izleme ise; raporun yazıcıdan bastırılacağı biçimde bir ön görünümünü sağlar. 
 
E. RAPORUN YAZDIRILMASI Raporu yazdırmak için File (Dosya) menüsünden Print (Yazdır) komutu kullanılır. Raporu yazıcıya yollamadan önce kağıda yerleşimi ve yazdırma alanının sınırları ayarlanacaksa o zaman Setup düğmesiyle margins ve columns bilgileri ayarlanır. Margins (Kenar Boşlukları) bölümünde raporun kağıda yerleşiminde kullanılacak sınırlar düzenlenir. Top (Üstten), Bottom (Alttan), Right (Sağdan) ve Left (Soldan) alanlarına istenilen genişlikler yazılarak sınırlar ayarlanır. 
 
F. RAPOR BÖLÜMLERİ Rapor ve formların kullanılmasında bölümlerin kavranması yararlı olur. Bir rapor beş ana bölümden (section) oluşur. Her bölümün amacı ve içeriği ayrıdır. Kullanıcı bu bölümleri istediği bileşimde kullanabilir. 
 
Rapor bölümleri (sections) başlıklar, altbaşlıklar ve grup başlıklarından oluşur. Rapor bölümlerinin amacı raporun belli bir düzende oluşmasını sağlamaktır. 
 
Rapor Header: Raporun başında bir kez görünür. Rapor başlığı konu  ya da logo (amblem) vb. bilgiler için kullanılabilir. 
 
Sayfa Header: Raporun her sayfasında görülür. Raporda yer alan kolonların başlıkları bu bölümde yer alır. 

 Grup Header: Rapor tasarımındaki gruplamaya uygun olarak her yeni grubun başında görünür. 
 
Detail (ayrıntı): Raporun ana kısmını belirtir. Veritabanındaki herbir kayıt bu bölümde yer alır. 
 
Sayfa Footer: Her sayfanın altında görülür. Sayfa numarası vb. bilgiler için kullanılır. 
 
Rapor Footer: Raporun sonunda yer alır. Rapor toplamları vb. bilgiler için kullanılır. 
 
G. GRUPLAMA Gruplama işleminde listelenecek kayıtların belli bir alan için gruplanması sağlanır. Örneğin; satış kayıtlarının Tarih bilgisine göre gruplanması; kayıtların her tarih için ayrı bir grup olarak listelenmesi anlamına gelir. Ancak genellikle tarh bilgisi gün, ay, yıl gibi gruplanır. 
 
Alanın grup özellikleri (group properties) ile belirtilen başlık ve altbaşlık bilgileri ya da ifadelerinin bu grupların yaratılmasını sağlar. Raporda belli alanlar için gruplama yapmak için; Sıralama ve Gruplama iletişim kutusunun altındaki özellikler kullanılır. 
 
Gruplama sırasında diğer bir işlem Summary Options'dır. Bu düzenleme gruplama sırasında yapılacak toplama ya da ortalama gibi işlemi belirtir. Örneğin koda ya  da tarihe göre yapılacak olan gruplamada tutarların toplanması gib. 
 
H. ETİKET SİHİRBAZI  Yılbaşı, bayramlar, özellikle sekreterler ve biraz da bilgisayar kullanıcıları için etiket ve zarf basma gibi bir telaşa neden olur. Access'te yer alan etiket sihirbazı bir tablodan ya da sorgudan gelen kayıtların istenilen tipteki formlara basılmasını sağlar. 
 
Etiket kullanımında istenilen bilgilerini seçilmesinin ardından en önemli işlem kullanılacak etiket formunun tasarımının yapılmasıdır. Etiket formları sürekli (continuous) ya da form şeklindedir. Sürekli formlar genellikle traktör birimi olan nokta matrisli yazıcılar için kullanılır. Türkiye'de 35 X 97 mm ve 35 X 77 mm'lik etiket formları yaygın olarak kullanılır. Bunun dışında form üzerinde etiketler de kullanılmaktadır. Bu etiket formları da genellikle laser yazıcılarda kullanılır. Buradan kullanıcının etiket seçimini sahip olduğu yazıcısına göre yapılması gerekir.   
 
Etiket tasarımı:  1. Veritabanı penceresinden Reports bölümü seçilir. New düğmesine basılarak yeni rapor seçeneklerinden etiket sihirbazı (label wizard) seçilir. 
 
2. Ardından etiket formunun tipi seçilir. 
 
 Product Number (Ürün numarası): Etiket formunun tipi.  Dimensions: Bir etiketin boyutu.  Number across: Etiket formunun kaç kolon olduğu. Label Type: Sürekli : Sürekli form şeklinde ve özellikle nakta vuruşlu (traktörlü) yazıcılar için.  Sayfa besleme: Form şeklinde özellikle laser yazıcı için.  Bu aşamada kullanılacak etiket formunun özellikleri seçilir. 
Mevcut etiket formlarından herhangi birisinin kullanılacak forma uymaması durumda Customize düğmesine basılar. Eğer etiket tanımlarından birisi kullanılacak etikete uyuyorsa (ya da yakınsa) o seçilerek işleme devam edilir. 
 
3. Etiketin yazı tipi vb biçimlemesi düzenlendikten sonra, birim etiket üzerine yazılacak olan sabit yazılar ve tablo ya da sorgudan gelecek alanların yerleştirilmesi yapılır. 
 
4. Son olarak da çekilecek olan etiket listesindeki sıralama düzenlenir. Ardından etiketin raporu ön izleme olarak ekrana gelir. İstenildiği zaman da yazdırılabilir. 
 
II. UYGULAMA Bu hafta, eğer daha önde tablolar ve sorgular yapabildiysek onların alt toplamlarını almak ve değişik düzenlemelerle de (gruplama dediğimiz şey) ara toplamlarını almamız gerekir. 
 
Olası raporlar: 
 
-Siparişlerin tarih, müşteri kodu ve ürün kodu sıralı listesi. -Müşteri koduna göre gruplamalı sipariş bilgileri raporu. Adet tutar ara toplamlı.  -Haftalık tarih gruplamalı sipariş bilgileri raporu. Adet tutar ara toplamlı. -Ürün koduna göre gruplamalı sipariş bilgileri. Adet tutar ara toplamlı.
 
III. GÖZDEN GEÇİRME 1. Access raporlarının özelliği nedir? Bir gruplama senaryosunu açıklayın.  2. Bir rapor tasarımında kaç bölüm vardır? Bu özellikler form tasarımına benzemektedir? Rapor'daki bölümlerin işlevlerini açıklayın? 3. Access ile etiket çekilebilir mi. Yanıtınız Evet ise, nasıl? 4. Müşteri hareketlerini tarih içinde; gün, hafta, ay gibi kırılmalar yaparak gruplamak mümkün müdür?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ders 7 DERS 7: MAKROLAR
 
Ders sonunda yapabilecekleriniz: 
 
-Makroların kullanım amaçlarını açıklamak.  -Bir makro tasarlamak. -Makroları çalıştırmak.
 
I. MAKROLAR Veritabanı yöneticisi, form üzerindeki bir alan için, boş geçilmemesi ya da girilen kodu alanına en fazla 6 karakter girilmesini, eğer aşılırsa "6 karakterden fazla girilemez !!" mesajı verilmesini istemektedir. Bu işlem için form üzerinde ve o alan için bir makro yazmak gerekir. Makro bir alt yordam gibi çalışır. Peki makroyu kim, nasıl harekete geçirecek? Bu işlem için olaylar (events) kullanılır. Örneğin form üzerinde kodu alanından çıkış için OnExit olayı kullanılır. 
 
Yazılan makronun makro penceresindeki görünümü:   
 
Condition  Action   Len ([kodu]) > 6 MsgBox  ...   CancelEvent 
 
 
Yukarıdaki makro şu şekilde kullanılır: 
 
Formun tasarım görünümünde kodu alanının üzerinde sağ tıklayarak Build Event menüsünden Macro Builder seçilerek Macro penceresi açılır. Buradaki sütunlara yukarıdaki makro girilir. Bu arada Condition sütununu eklemek için Macro penceresinde Conditions düğmesi tıklanır. 
 
Yukarıdaki örnek ve içerik, makroların yalnızca bir tür kullanımını gösterir. Bunun dışında ana menü formlarında ve uygulama geliştirmek için bazı işlemlerin yapılmasında kullanılır. 
 
A. MAKROLAR NE İŞE YARAR? Hemen belirtmek istiyorum; Access makroları, Excel makroları gibi yalnızca bir grup işlemi otomatikleştirmek için kullanılmaz. Özellikle formlar eklenmesinde bir dizi ek işlemin özel makro komutlarıyla (actions) yapılmasını sağlar. 
 
Makrolar standart işlemlerin (action/eylem) belli olaylara (düğmeye basmak, formu açmak gibi) bağlı olarak belli işlemlerin yapılmasını sağlar. Menü formlarınını kullanımı, özel bir hesaplama, veri girişini denetimi,  bir raporun bastırılması, bir formun açılıp kapatılması gibi işlemler özellikle makrolar tarafından yapılırlar. 
 
B. MAKROLARIN KULLANIM AMAÇLARI Makrolar sıradan işleri otomatik olarak yapmanın yanı sıra, veritabanı içinde nesneler arasındaki birtakım işlemlerin otomatik olarak yapılmasını sağlar. 
 
Makroların kullanım amaçları:  -Form İşlemleri: Bir formdan diğer bir formu çağırmak ya da bir formu kapatmak vb. form işlemleri otomatik olarak yapmak için kullanılır. Özelikle menü yönetimi.  -Arama, filtreleme vb. işlemleri daha hızlı yapmak için kullanılır. 
-İlgili denetimlerin değerlerinin otomatik olarak bağlanması; bir forma girilen bir alanın ardından ilgili (ilişkili) diğer bir formun ilgili alanları otomatik olarak çağırılır ve form üzerindeki denetimlere yerleştirilir.  -Girilen verilerin denetiminde kullanılır. Belli alanlara girilen verilerin belli özelliklerde olması gerekir. Bu özelliklerin veritabanındaki ilgili tablolarda taranarak denetim edilmesi gerekir. Bu durumda makrolar çok  kullanılan araçlardır.  -Form ve raporlara belli özellikleri kazandırmak için.  -Uygulamalar arasında veri transferi yapmak için.  -Bir veritabanı açıldığında ilgili tabloları, sorguları vb. nesneleri açmak ve ilk işlemleri yapmak için kullanılır. 
 
C. BİR MAKRO YARATMAK Makrolar Access veritabanının bir parçasıdır. Veritabanının makro bölümünde yer alırlar. Bir makro yaratmak için Veritabanı penceresinde Macros (Makrolar) bölümüne geçilir ve New (Yeni) düğmesine basılır. 
 
Ardından makro işlemlerinin yazılacağı ve özelliklerinin düzenleneceği boş bir makro penceresi (macro window) açılır. 
 
Makro içinde yapılacak temel işlemler Action olarak belirtilirler. Access belli işlevlere sahip çok sayıda işlemi (action) içerir. Comment bölümünde ise işlem hakkında açıklama yazılır. 
 
D. İŞLEMLERİN DÜZENLENMESİ Bir makroyu hazırlama; ilgili işlemlerin (action) seçilmesiyle başlar. Makro penceresinde bir makroya bir işlemin eklenmesi iki şekilde yapılabilir. Birinci yöntemde; işlemler işlem (Action) listesinden seçilerek eklenir. 
 
Tablo : Makro işlemleri listesi
 
İşlem (Action) Açıklama  Kategori Close  Nesneyi kapatır. Nesne İşlemleri OpenForm Nesneyi açar.   " OpenModule Nesneyi açar.  " OpenQuery Nesneyi açar.  " OpenReport Nesneyi açar.  " OpenTable Nesneyi açar.  " Print  Nesneyi bastırır.  " SetValue Bir kontrol, alan ya da özelliğin değerini düzenler. " RepaintObject Verileri günceller. " Requery  "  " ShowAllRecords " " SelectObject Nesneyi seçer. " CopyObject Nesneyi kopyalar. " Rename Nesnenin adını değiştirir. " DeleteObject Nesneyi siler. " Maximize Pencere işlemleri. " Minimize " " MoveSize " " Restore " "   
ApplyFilter Veri kısıtlama Form ve raporlardaki veriler.  FindNext Veri üzerinde hareket " FindRecord " " GoToControl " " GoToPage " " GoToRecord " "   DoMenuItem Komutu çalıştırır. Çalıştırma OpenQuery Sorguyu çalıştırır. " RunCode Procedure'ı çalıştırır.. " RunMacro Makroyu çalıştırır.. " RunSQL SQL komutu çalıştırır. " RunApp Diğer bir uygulamayı çalıştırır. " CancelEvent Çalıştırmayı durdurur. " Quit " " StopMacro " " StopAllMacros " "    TransferDatabase Access ile başka bir uygulama arasında veri taransferi. Alma/Gönderme TransferSpreadsheet " " TransferText " " OutputTo Access nesnesini diğer bir uygulamaya gönderme. " SendObject " "    Echo  Bilgi verme Diğer Hourglass " " MsgBox " " SetWarnings " " ShowToolBar Araç Çubuğunu gösterir/gizler " SendKey Tuş okuma " Beep  Ses çıkarır " AddMenu Araç çubuğu yaratır. "
 
E. MAKRONUN ÇALIŞTIRILMASI Bir makro yaratıldıktan sonra; makro penceresinden, veritabanı penceresinden, formlar üzerinden ya da diğer bir  makrodan olmak üzere değişik biçimlerde çalıştırılabilir. Ancak program geliştirme açısından bir makro form üzerindeki düğmelere ya da form kullanımında oluşan bir olaya (event) bağlı olarak çalıştırılır.   
 
Bir makronun bir form üzerindeki bir komut düğmesine basılarak çalıştırılması için form üzerindeki düğmenin olay özellikleri kullanılır. Düğmenin üzerinde fare ile tıklanınca click olayı oluşur. Bu nedenle düğmenin üzerine fareyle tıklanarak yapılması gereken işlemler bir makro olarak yazılır. 
 
F. FORM ÜZERİNDE BİR KOMUT DÜĞMESİNE BAĞLI MAKRO YARATMAK Form üzerine bir komut düğmesi (command button) yaratıp ve komut düğmesine tıklanarak ona bağlı bir makronun çalıştırılmasını sağlamak yaygın kullanılan bir tekniktir. Düğmeye basılarak bir form açılabilir, bir form kapatılabilir, bir kayıt silinebilir, kayıt ile ilgili diğer bir form açılır vb. işler yapılabilir. 

 Bir komut düğmesine ya da bir denetime bir makronun bağlanması için değişik yollar seçilebilir. Bunlardan en kolay olanı Komut Sihirbazını (Command Wizards) kullanmaktır.
 
Yaratılan boş bir form üzerinde (tasarım görünümünde) Toolbox düğmesini kullanarak ekrana gelen araçlardan Control Wizards'ın basılı olduğunu kontrol edin. Ardından bir Command Button (komut düğmesi) denetimini form üzerine atın. Bu durumda bu düğme ile yapılacak bütün işlemler ekrana gelir. 
 
Bu düğme ile form açmak, kapatmak ya da printer işlemleri gibi işlemler yapılır. 
 
G. BİR FORMUN ANA MENÜ YAPILMASI Tasarlanan boş bir form üzerine, diğer formları açmak için yerleştirilen komut düğmelerinin ardından formun ana menü yapılması için, önce form bir ad verilerek kaydedilir. Ardından Tools menüsünden Startup seçeneği seçilir. Ardından Display Form kutusunda yaratılan form belirtilir. 
 
II. UYGULAMALAR Bir ana menü formu yaratın: Veritabanı üzerinde boş bir form (design view) yaratın. Ardından bu formu üzerinde birkaç tane Command Button yaratın ve formu ana menü adıyla kaydedin. 
 
NOT: Ancak bu durumda Control Wizards'ın açık olduğuna dikkat edin. 
 
Ardından bu düğmelere tıkladığında çalışmak üzere veritabanın diğer formlarının açılmasını sağlayın. 
 
Bu işlemin devamı olarak açılan formlarda ise bir düğme yaratarak tıklayınca formun kapanmasını (Close) sağlayın. Bu düzenleme ile bir menü üzerinde; bir düğmeye tıklanarak açılan bir form, kullanıldıktan sonra üzerindeki bir düğmeye tıklanarak kapanır. 
 
Form üzerinde bir alanın boş geçilmesini ekleyen bir makro yazın Form üzerinde kodu ya da adı gibi bir alanından çıkış olayını OnExit kullanın. 
 
Şöyle bir makro yazın:   
 
Condition  Action   [kodu] IsNull  MsgBox  ...   CancelEvent  Yukarıdaki makro şu şekilde kullanılır: 
 
Formun tasarım görünümünde kodu ya da adı alanının üzerinde sağ tıklayarak Build Event (Olay Oluştur) menüsünden Macro Builder (Makro Oluştur) seçilerek Macro penceresi açılır. Buradaki sütunlara yukarıdaki makro girilir. Bu arada Condition sütununu eklemek için Macro penceresinde Conditions düğmesi tıklanır.  III. GÖZDEN GEÇİRME 1. Makrolar bir Access geliştiricisine neler sağlar? Microsoft  Access'te bir makro yaratmanın yolları nelerdir? Sizce en kısa yol hangisidir? 2. Olay (event) nedir? Örnek verin. 3. Form üzerinde oluşan bir olayı açıklayın?
Ders 8 DERS 8: VERİ TRANSFERİ
 
Ders sonunda yapabilecekleriniz: 
 
-Veri transferini açıklamak.  -Diğer uygulamalardan ve veritabanlarında veri almayı (import) açıklamak. -Diğer uygulamalara ve veritabanlarına veri vermeyi (export) açıklamak.
 
I. VERİ TRANSFERİ Bütün veritabanı programlarında olduğu gibi, Microsoft Access de diğer veritabanı uygulamalarından (onların özgün formatlarından) veri almak (import) ve Microsoft Access'teki verileri de diğer veritabanlarına vermek (export) için çeşitli olanaklara sahiptir. Çok yaygın olarak karşılaşan şeylerden birisi; Microsoft Excel dosyalarından Access'e veri aktarmak ya da onlara bağlı (link) çalışmaktır. Almak (import) ve bağlı çalışmayı (link) biraz açacak olursak; almak, verileri transfer etmek demektir. Diğer bir deyişle verilerin Excel'den Access'e kopyalamak anlamına gelir. Bağlantı kurmak ise, veriler Excel dosyası olarak dururlar. Access, onları açarak alır ya da üzerinde işlem yapar. Burada bir transfer işlemi söz konusu değildir. 
 
Veri transferi deyimleri:  Almak (import): Excel dosyası, Access veritabanı, text dosya ya da diğer bir formattan verileri Access veritabanınan kopyalamak. Vermek (export): Access veritabanındaki verileri Excel dosyası, Access veritabanı, text dosya ya da diğer bir formata kopyalamak. Bağla (Link ): Excel dosyası ya da diğer veritabanlarındaki verilere erişmek. Onlara bağlantı kurarak verileri kullanmak. Transfer etmeden kullanmak.
 
A. ACCESS'TEN ACCESS'E VERİ TRANSFERİ Önce bir Access veritabanındaki bir tabloyu (ya da diğer bir nesne olabilir) diğer bir Access veritabanına aktarmayı ya da diğer bir Acceess veritabanından veri almayı görelim. 
 
Bir Access veritabanından diğerine veri aktarmak için File menüsündeki Export komutu kullanılır. 
 
Bir Access veritabanından diğerine veri aktarma: 1. Aktarılacak nesne veritabanı penceresinde seçilir.  2. File (Dosya) menüsünden Export (Ver) komutu seçilir.  3. Nesnenin taşınacağı veritabanı seçilir. 
 
Bir Access veritabanından diğerine veri aktarmak için File menüsündeki Export komutu kullanılır. 
 
Bir Access veritabanından veri almak: 1. Aktarılacak nesne veritabanı penceresinde seçilir.  2. File (Dosya) menüsünden önce Get External Data (Dış Veri Al) seçilir. Ardından Import (Al) komutu seçilir.  3. Nesnenin taşınacağı veritabanı seçilir. 
 
 
NOT: Hangi nesnelerin (objects) import edileceği seçilir. İstenirse Select All deyimiyle nesneler toplu olarak seçilir. 
 
B. ACCESS'TEN DİĞER DOSYA TÜRLERİNE VERİ TRANSFERİ Access içindeki nesneler farklı dosya türlerinde de kaydedilebilirler. 
 
Diğer dosya türlerine veri transferi: 1. Veritabanı penceresinde tablo ya da sorgu seçilir.  2. File (Dosya) menüsünden Export (Ver) komutu seçilir.  3. Save as type kutusundan istenilen dosya formatı seçilir.  4. File Name kutusuna dosyanın adı girilir. 
 
Bir tablo ya da sorgunun aktarılabileceği değişik dosya formatları şunlardır: 
 
text files (.TXT) (delimited ya da fixed);  Microsoft Excel 3, 4, 5-7, 97;  HTML;  dBASE III, IV and V;  Microsoft FoxPro 2.x and 3.0;  Microsoft Word Merge;  Rich Text Format (.RTF);  Microsoft IIS (Internet Information Server);  Microsoft ActiveX Server;  ODBC Databases. 
 
Text Dosya Bir Access tablosunun bir text dosya olarak kaydedilmesi yaygın bir işlemdir. Bu sayede text bilgiler diğer uygulamalar tarafından kullanılabilir. (örneğin bir ticari uygulama ya da bir DOS programı bu text bilgileri okuyabilir). 
 
İki tür text dosya yapısı vardır: 
 
-Fixed Width (sabit aralıklı) -Delimited (özel sonlandırıcı karaktere sahip)
 
Fixed Width özelliği daha az kullanılır. Bu özelliğin anlamı her alanın sabit bir uzunluğunun olmasıdır. Yani "adresi" alanı 25 karakter ise ve adres için 10 karakter bile olsa 25 karakterlik bir alan kullanılır. 
 
Sabit aralıklı: Yaşar Yaşaroğlu 23 Sokak No 10 Ankara
 
Bu seçenek kullanıldığında Export Wizard sabit kolon genişliklerinin manuel olarak değiştirilebilir. 
 
Delimited seçeneği ise daha yaygın olarak kullanılır. Delimited seçeneğinin anlamı alanlar belli bir karakterle (örneğin virgül ya da noktalı virgül) ayrılırlar. 
 
Sonlandırıcı karakterle ayrılmış: Yaşar;Yaşaroğlu;23 Sokak No 10 Ankara;

 1. Veritabanı penceresinde tablo ya da sorgu seçilir.  2. File (Dosya) menüsünden Export (Ver) komutu seçilir.  3. Save as type kutusundan istenilen Text Files seçilir.  4. File Name kutusuna dosyanın adı girilir.  5. Export Text Wizard devreye girerek istenilen çevirme işlemini yapmanızı sağlar. 
 
Bu aşamada Delimited ya da Fixed Width seçilir. Eğer delimited seçilmişse delimiter karakteri seçilir. (Tab, Semicolon, Space, diğer). Alan tanımlayıcısı istiyorsanız Include Field Names on First Row seçeneğini işaretleyin. 
 
C. MİCROSOFT WORD'E AKTARMA Access tablolarını, sorgularını, formlarını ve raporlarını kolayca Word belgesi haline dönüştürebilirsiniz. Bu işlem için Merge it With MS Word düğmesi kullanılır. 
 
1. Veritabanı nesnesi seçilir.  2. Office Links düğmelerinden Merge it With MS Word düğmesine tıklanır. 
 
Bu işlem sayesinde verilere Word ile daha fazla biçimleme özelliği ekleyebilirsiniz. Bu işlem nesnenin RTF (rich text format) biçiminde bir belge olmasını sağlar. 
 
D. IMPORT (VERİ ALMA) İŞLEMİ  Access, birçok uygulama için değişik formatlarda veri transferi (export) edebildiği gibi, diğer uygulamalardan da alabilir. Bu işleme Import denir. Import edilen veriler Access içinde tablo olarak saklanırlar. 
 
1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Import (Al) iletişim kutusunda kendisinden veri alınacak olan Access veritabanı ya da diğer türlerdeki dosyalar seçilir.  3. Import edilecek veriler New Table seçeneği ile yeni bir tablo olarak ya da Existing Table seçeneği ile mevcut bir tabloya eklenebilir. 
 
NOT: Access alınan nesneleri bir tablo olarak mevcut veritabanına ekler. Bu veritabanının aynı adı bir nesne varsa o zaman nesnenin adında bir sayı eklenir. Örneğin musteri adı bir tablo varsa; musteri1, musteri2 gibi tablo adları oluşur. 
 
E. ÇALIŞMA TABLOLARINDAN VERİ ALMAK Access tablolarına Microsoft Excel ve Lotus gibi çalışma tablolarından veri transfer edilebilir. Çalışma tablolarındaki satırlar Access tablolarına birer kayıt olacak biçimde transfer edilirler. 
 
1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Import (Al) iletişim kutusunda kendisinden veri alınacak olan çalışma tablosu seçilir.  3. Ardından Import Spreadsheet Wizard devreye girer ve verilerin transferini sağlar.  4. Firt Row Contains Column Headings seçeneği ile çalışma tablosundaki kolon başlıkları Access tablosundaki alan adlarına karşılık gelir. Bunun dışında New Table seçeneği ile yeni bir tablo olarak ya da Existing Table seçeneği ile mevcut bir tabloya eklenebilir.  Ayrıca istenilen çalışma tablosunu (sheet) ya da belli bir kısmını (range) seçmeniz sağlanır.  5. Ardından ekrana gelen Field Options bölümünde alanların veri türleri ve indeksleri düzenlenir. 
 
F. TEXT VERİLERİ IMPORT ETMEK Diğer uygulamalardan veri transfer etmenin yaygın yollarından birisi de Text verileri import etmektir. Ticari uygulamalar, mainframe uygulamaları, hemen hemen bütün uygulamalar verileri text olarak kayıt edebilirler. 
 
Text verileri iki tür olabilirler. Fixed Width ve Delimited. Fixed Width özelliği daha az kullanılır. Bu özelliğin anlamı her alanın sabit bir uzunluğunun olmasıdır. Yani "adresi" alanı 25 karakter ise ve adres için 10 karakter bile olsa 25 karakterlik bir alan kullanılır. 
 
Delimited seçeneği ise daha yaygın olarak kullanılır. Delimited seçeneğinin anlamı alanlar belli bir karakterle (örneğin virgül ya da noktalı virgül) ayrılırlar. 
 
1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Import iletişim kutusunda kendisinden veri alınacak text dosya seçilir.  3. Ardından Import Text Wizard devreye girer ve verilerin transferini sağlar.  4. Firt Row Contains Column Headings seçeneği ile varsa alan adları Access tablosundaki alan adlarına karşılık gelir. Bunun dışında New Table seçeneği ile yeni bir tablo olarak ya da Existing Table seçeneği ile mevcut bir tablolaya eklenebilir.  5. Ardından ekrana gelen Field Options bölümünde alanların veri türleri ve indeksleri düzenlenir.  Advanced düğmesine tıklanarak delimiter karakterler ve alanların formatları düzenlenir. 
 
G. BAĞLANTI (LİNK) OLUŞTURMAK Bir nesneyi import etmek onu Access'e kopyalamak anlamına gelir. Import edilen veriler fiziksel olarak Access veritabanında yer alırlar. Link etmek ise verilerin transferi anlamına gelmez. Verileri kaynağında dururular. Bu sadece bu verilere bir bağlantı sağlanır. 
 
Bağlantı kurmak: 1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Ardından Link Table (Tabloarı Bağla) komutu seçilir.  3. Ardından bağlantı kutulacak tablo ya da çalışma tablosu seçilir.  4. Link düğmesine tıklanarak bağlantı kurulur. 
 
Excel Verilerine Bağlantı Access, Microsoft Excel çalışma tablosundaki verilere bağlantı kurarak onları kullanmanızı sağlar. 
 
Adım-adım: Bağlantı kurmak 1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Ardından Link Table komutu seçilir.  3. Ardından bağlantı kurulacak Excel çalışma kitabı (workbook) seçilir.  4. Link düğmesine tıklanarak bağlantı kurulur.  5. Bu işlemin ardından Link Spreadsheet Wizard devreye girerek istenilen çalışma tablosunu (sheet) ya da belli bir kısmını (range) seçmenizi sağlar. 
 
Links to External Data: Text Bir text dosyadaki verilere bağlantı kurmak (link) onları import etmeye benzer. 
 
1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Ardından Link Table (Tabloarı Bağla) seçilir. 
3. Link iletişim kutusunda kendisinden veri alınacak text dosya seçilir.  3. Ardından Links Text Wizard devreye girer ve verilerin transferini sağlar.  4. Firt Row Contains Column Headings seçeneği ile varsa alan adları Access tablosundaki alan adlarına karşılık gelir. Bunun dışında New Table seçeneği ile yeni bir tablo olarak ya da Existing Table seçeneği ile mevcut bir tablolaya eklenebilir.  5. Ardından ekrana gelen Field Options bölümünde alanların veri türleri ve indeksleri düzenlenir. 
 
Advanced düğmesine tıklanarak delimiter karakterler ve alanların formatları düzenlenir. 
 
II. UYGULAMALAR Microsoft Excel'den veri alın (import)
 
1.File (Dosya) menüsünden Get External Data (Dış Veri Al) seçilir.  2. Import iletişim kutusunda kendisinden veri alınacak olan çalışma tablosu seçilir. Örneğin Excel 7.0 ya da Excel 2000 gibi. Ardından dosya seçilir: Örneğin: C:\data\ucret.xls 3. Ardından Import Spreadsheet Wizard devreye girer ve verilerin transferini sağlar.  4. Firt Row Contains Column Headings seçeneği ile çalışma tablosundaki kolon başlıkları Access tablosundaki alan adlarına karşılık gelir. Bunun dışında New Table seçeneği ile yeni bir tablo olarak ya da Existing Table seçeneği ile mevcut bir tablolaya eklenebilir.  5. Ardından ekrana gelen Field Options bölümünde alanların veri türleri ve indeksleri düzenlenir. 
 
III. GÖZDEN GEÇİRME 1. Microsoft Access, hangi uygulamalardan ve hangi formatlardaki verileri kendi veritabanlarına alabilir (import)? 2. Microsoft Access, hangi uygulamalara ve hangi formatlara veri verebilir (export) ? 3. Almak, vermek, bağlantı kurmak ne demektir? Aralarında ne fark vardır?
 
 
9
Bilgisayar Dershanesi / Re: Access Kurs Planı
Last post by Karamsar - Feb 23, 2019, 10:41 AM
-Sipariş formunun alt başlık kısmına tutar toplamı alın. Ayrıca altına KDV'li toplamı hesaplattırın. -Sipariş formunda taşıyıcı firma ve siparişi alan müşterinin combo'larla seçilmesini sağlayın. -Sipariş formunu Scroll Bar ve Navigation Button kontrollerini kaldırın. -Müşteri kartı ile sipariş formunu birleştirin. 
 
Yapılacaklar (c) -Müşteri formuna ve personel formunda tarih alanlarına veri girişi kolaylaştırmak için ActiveX kontrollerinden (Tool, ActiveX Controls)  Calendar Control 8.0'ı koyun ve çalışmasını kontrol edin.
 
Yapılacaklar (d) -Bir ana menü formu geliştirin. -Bütün formlara ulaşacak düğmeler yerleştirin. -Bütün formlardan ana menüye dönüşü sağlamak için Exit düğmeleri yapın. -Müşteri gruplarının toplam siparişlerini gösteren grafik formu hazırlayın.
 
İstenen Raporlar Raporlar verilerin düz ya da gruplanarak ekrandan (preview) ya da yazıcıdan bastırılması işlemidir. 
 
Yapılacaklar (a) -Siparişlerin tarih, müşteri kodu ve ürün kodu sıralı listesi. -Müşteri koduna göre gruplamalı sipariş bilgileri raporu. -Haftalık tarih gruplamalı sipariş bilgileri raporu. -Ürün koduna göre gruplamalı sipariş bilgileri. 
 
III. GÖZDEN GEÇİRME 1. Bir tablo yaratmadan önce neleri planlarsınız? 2. Primary key (Birincil anahtar) nedir? Access'teki önemini belirtiniz. 3. Tablo tasarımında Default (Varsayılan) özelliğinin amacı nedir? Kendi gereksinimlerinizden örnekler veriniz.  4. Validation Rule ve Validation Text özelliklerinin amaçları nelerdir. Birer örnekle açıklayınız.  5. İlişki nedir? Bire-Çok ilişkiye örnek veriniz. 6. Bire-Çok ilişki kurmak için iki tabloda olması gereken özellikler nelerdir. Hangi tarafta bir ana anahtar olmalıdır. 
 
 
   
 
 
 
Ders 4 DERS 4: SORGULAR TASARLAMAK
 
Ders sonunda yapabilecekleriniz: 
 
-Sorguları anlamak.  -Bir sorgu tasarlamak. -Bir sorguyu çalıştırarak istenilen sonuçları elde etmek.  -Değişik sorgu türlerini kullanmak.
 
I. SORGULAR TASARLAMAK Veritabanında tablolar verileri içerir. Sorgular ise spesifik olarak gerek duyulan bilgiye erişmenin en kolay yollarından birisidir. Örneğin öğrenci tablosunda duran verilerden, İstanbul'da oturan öğrencilerin listesine erişmek bir sorgudur. 
 
Verilen iki tarih arasında siparişlerin adet ve tutarları?
 
Tarih alanına: BETWEEN 10/03/2001 AND 20/03/2001
 
Yukarıdaki ifade Acces'te sorgu tasarımında Criteria (Ölçüt)  alanına yazılır ve sorgu çalıştırılır. Sonuç olarak verilen iki tarih arasındaki bilgileri listelenir. 
 
Sorgulama sürecinde bilgiler genellikle bir ya da daha çok tablodan gelir. Bu nedenler iyi sorgular yaratmak için tabloların da iyi bir şekilde tasarlanmış olması gerekir. 
 
Sorgu (query) ya da sorgulama, tablolarda saklanmış verilere yöneltilen sorudur. Sorgu aracılığı ile istenilen (gereksinim duyulan) bilgilere erişilir. Sorgulamada belli verilerin çeşitli kriterlere göre seçilmesi sağlanır. 
 
Yapılan işleme göre sorgular şu sınıflamalara ayrılır:
 
Seçme sorgusu (Select query): Verilerden istenilen alanların istenilen kritere uyanları bir tablo (Dynaset) olarak seçilir. 
 
Çapraz sorgu: Verileri satır ve kolon olarak bir tablo biçiminde gösterir. Bu tip sorgulama ile yığın verilerin toplanması sağlanır. 
 
İşlem sorguları: Bir işlemle çok sayıda kaydı değiştirir. Bu sorgulamalar, yeni bir tablo yaratmak için, kayıt silmek, eklemek ve değiştirmek için kullanılır. 
 
Tablo-Yapma sorguları: Yeni bir veri seti yaratmak ya da sorgu sonuçlarının bir tablo olarak kayıt edilmesi için kullanılır. 
 
Ekleme sorgu: Bir tablodaki belli kayıtların diğer bir tabloya eklenmesini sağlar. 
 
Güncelleştirme sorgusu: Tablonun mevcut kayıtlarının değiştirilmesini sağlar.
 
Biz konumuzda seçim sorgularını kullanacağız. 
 
 
A. BİR SORGU YARATMAK Yeni bir sorgu yaratmak için önce veritabanı penceresinden Queries (Sorgular) seçilir. Ardından New (Yeni) düğmesine basılır: 
 
Bir sorgu yaratmak için değişik yollar vardır: 
 
Bu seçenekler:    Design View/Tasarım Görünümü-Sorgu Tasarım Görünümü Simple Query/Basit Sorgu Sihirbazı- Basit Sorgu geliştirme Crosstab/Çapraz Sorgu-Çapraz-tablo Sorgu Sihirbazı Find duplicates/Yinelenenleri Bul Sorgusu-Tekrarları Bul Sorgu Shirbazı Find Unmatched/ Eşleşmeyenleri Bul Sorgusu-Eşleşmeyenleri Bul Sorgu Sihirbazı
 
B. TASARIM GÖRÜNÜMÜYLE SORGU YARATMAK En kolay sorgu yaratma yöntemi tasarım görünümüdür. Tasarım görünümü düğmesine basılarak yeni bir sorguya başlandığında önce hangi tablo ve sorguların bu yeni sorguda yer alacağı seçilir. Genellikle aralarında ilişki olan tablolar kullanılır. 
 
1. Veritabanı penceresinden sorgular bölümü seçilir ve New (Yeni) düğmesine basılır.   2. İstediğiniz tablo ya da tablolar seçilir.  3. Seçilen elemanların ardından Add düğmesine basılarak tablolar sorgu penceresine eklenir Close düğmesi ile sorgu penceresine geçilir: 
 
Sorgu penceresinde; tablolar yerleştirildikten sonra gereksinim durulan alanlar seçilir ve sorgu penceresinin alt tarafına alınır. Ardından alanlar üzerinde gereken düzenlemeler (kriter vb) yapıldıktan sonra sorgunun çalıştırılmasına geçilir: 
 
1. SORGU PENCERESİ Yeni bir sorguya başlandığında ekrana sorgu penceresi (query window) gelir. Sorgu penceresinin belli bölümleri vardır: Üzerinde sorgulama işlemlerinin yapıldığı grafik ortama sorgu penceresi denir. 
 
2. ALANLARIN SEÇİLMESİ Bir sorgu yaratırken önce sorguya konu olacak ya da sorguda alanlarına gereksinim duyulacak olan tablolar seçilir. Ardından tablo alanları sorgu içine dahil edilir. 
 
Bir tablonun herhangi bir alanını sorgu alan bölümündeki kolonlara yerleştirmek için alan fare ile istenilen kolonun üzerine bırakılır. 
 
3. KRİTER (CRITERIA) KULLANIMI Seçim sorgularında önemli olan; seçilecek veriye uygulanacak kriterin oluşturulmasıdır. Diğer bir değişle seçim işleminde veriler belli bir kritere göre seçilir. 
 
Örneğin AHMET adlı müşterinin kaydını istiyorsanız. Sorgu penceresinde adı ve diğer istediğiniz alanları ızgara bölümüne sürükleyin ve adı alanının Criteria (Ölçüt) satırına (hücresine) AHMET yazın. 
 
 
 
Kriter Oluşturmada Kullanılacak Operatörler:
 
Operatör İşlevi >  Büyüktür <  Küçüktür =>  Eşit ya da büyüktür <=  Eşit ya da küçüktür Between ... And .. Arasındadır And  Ve Or  Ya da Not  Değil
 
Bunların dışında bir de Like sözcüğü ile sorgu kriteri (ölçütü) oluşturulur. 
 
A ile başlayan müşteriler: 
 
Like "a*"
 
İPUCU: Criteria (Ölçüt) alanına a* da yazsanız, Access aynı kalıbı üretecektir. 
 
Adının ilk harfi  A-D arasında olan müşteriler?
 
LIKE "[A-D]*"
 
Verilen iki tarih arasında, belli bir müşteri, belli bir mal ve siparişi alan eleman olarak siparişlerin adet ve tutarları?
 
BETWEEN 10/03/2001 AND 20/03/2001
 
İli "İzmir" ya da "Manisa" olan müşterilerin il içinde alfabetik sırada listesi. 
 
İli İzmir OR Manisa
 
Sadece belli gruptan olan stokların birim fiyatlarına %10 zam.
 
Bu işlem ise bir Update (Güncelleme) sorgu ile yapılır. Bunun için Query türünün değiştirilmesi gerekir. 
 
C. SORGUNUN ÇALIŞTIRILMASI Yeni bir sorguya başlandı. Tablolar seçildi. Tablonun ilgili alanları ya da tüm alanları seçildi ve sorgu alanına taşındı. Varsa diğer düzenlemeler de yapıldıktan sonra sorgunun işletilmesi gerekecektir. 
 
Bu işlem için Run (Çalıştır) düğmesi kullanılır:
 
II. UYGULAMALAR Önceki derslerde yarattığınız FC ECZA deposu veritabanı tabloları üzerinde şu sorguları tasarlayın: 
 
 
İstenen sorgular: 
 
Adının ilk harfi  A-D arasında olan müşteriler? Verilen iki tarih arasında ve belli bir müşteri konu için siparişlerin adet ve tutarları? Verilen iki tarih arasında ve belli bir müşteri ve siparişi alan eleman olarak siparişlerin adet ve tutarları? Verilen iki tarih arasında, belli bir müşteri, belli bir mal ve siparişi alan eleman olarak siparişlerin adet ve tutarları? En yüksek sipariş alan elemanı bulmak için elemanların sipariş toplamlarını gösteren bir sıralı liste (azalan). Hiç siparişi olmayan müşterilerin alfabetik sırada listesi. İli "İzmir" olan ve telefon numarasının ilk karakteri 4 olan müşterilerin alfabetik sırada listesi. İli "İzmir" ya da "Manisa" olan müşterilerin il içinde alfabetik sırada listesi.  Sipariş adedi olarak en çok mal taşıyan taşıyıcı firma? Sipariş alan elemanların toplam (tutar) siparişleri. Stokta Birim fiyatlara %10 zam. Sadece belli gruptan olan stokların birim fiyatlarına %10 zam. Stokların depo kodunun ilk iki karakteri ile tanımlarının ilk iki karakterinin birleşiminin listesi.  Sipariş toplamlarının taşıyıcı firma güzergahlarına göre listesi.
 
III. GÖZDEN GEÇİRME 1. Sorguların yararlarını açıklayın? 2. Sorgu türleri nelerdir? 3. Birden çok tabloya dayalı sorguların kullanılması için ilişki gerekir mi? Tartışın.  4. Bir sorgunun sonucunda elde edilen veriler üzerinde değiştirme işlemi yapılabilir mi? 5. Güncelleme sorgusu nedir? Ne işe yarar?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ders 5 DERS 5: FORM TASARLAMAK
 
Ders sonunda yapabilecekleriniz: 
 
-Bir form tasarlamak. -Form kullanımını açıklamak. -Değişik form yaratma ve kullanma tekniklerini görmek.
 
I. FORM KULLANIMI Bir Access veritabanında, ana tasarım tablolar ve ilişkiler olara yapılır. Bu tasarım, tablolara dayanan sorguları, formları ve raporları tasarlamak için çok önemlidir. Genelde tablolar üzerine yaratılan formlar veri girişi ve görüntülemek için kullanılır. Örneğin malzeme tablosundaki verilerin daha iyi bir şekilde veri girilebilir bir ekrana kavuşması ve görüntülenmesi için formlar kullanılabilir. 
 
Formlar verilerin alan olarak alt alta (sütunlu) ya da yatay (sekmeli) bir şekilde görülmesini sağlarlar. Bu tasarım şekillerine columnar ve tabular denir. Bir cari hesap kartı genellikle columnar (sütunlu form) olarak tasarlanır. 
 
Formlar sayısal sütunların alt toplamlarını gösterebilir. Bu işlem için formların tasarım görünümünde formun Form Footer bölümü genişletilir ve form üzerinde listelenen (genellikle tabular-sekmeli) alanın adı sum ya da istenen bir diğer formülle toplanır: 
 
=sum([tutar])
 
=topla([tutar])
 
Yukarıdaki ifade formun Footer (Alt başlık) kısmına araç kutundan eklenen bir TextBox içine yazılır ve bu şekilde genellikle tabular olarak görüntülenen form üzerinde alt toplam alır. 
 
A. BİR FORM YARATMAK Bir form yaratmak için veritabanı penceresi kullanılır. Buradan Forms tabına tıklanarak mevcut formlar görülür ya da yeni bir form yaratılır. Burada New (Yeni) düğmesine tıklanarak istenilen şekilde form yaratılır: 
 
Yeni bir form yaratmada kullanılan yöntemler şunlardır: 
 
Yöntem    Açıklama Design View(Tasarım Görünümü)  Boş form oluşturulur ya da seçilen tablo ya da sorgunun alanları tasarlanır.  Form Wizard(Form Sihirbazı)  Adım adım istenilen alanların seçilip bir form oluşturulur. AutoForm: Columnar   Otomatik Form: Sütunlu Sütun tipinde (bir sayfada bir kayıt) form yaratır. Özellikle müşteri kartı, stok kartı, personel kartı gibi verilerin gösterimi için idealdir. AutoForm: Tabular Otomatik Form: Sekmeli  Yatay olarak bir sayfada çok sayıda kayıtın yer aldığı formlardır. Özellikle cari hareket, 
stok hareket, sipariş kayıtları gibi veriler için idealdir. 
AutoForm: Datasheet Otomatik Form:    Veri Sayfası Çalışma tablosu biçiminde formlar. Tabloların veri tablosu görünümünde  bir form yaratmak için kullanılır.  Chart Wizard(Grafik Sihirbazı)  Grafik oluşturur. PivotTable Wizard (Özet Tablo Sihirbazı) Microsoft Excel'i çağırarak bir özet tablo oluşturur.
 
NOT: form yaratma tipini seçtikten sonra; formun hangi tablo ya da sorgu üzerinde yaratılacağı belirlenir. Bu amaçla tablo ya da sorgu seçilir. Pratikte form sihirbazı ile form hazırlamak daha kolaydır. Form sihirbazını kullanmayarak kullanıcı form üzerindeki alanları kendisi yerleştirerek de form yaratılabilir. 
 
1. TASARIM GÖRÜNÜMÜ  Bir form yaratıldıktan sonra üç görünüme sahip olur. Formun normal görünümü formun kullanılabilir olduğu görünümdür. Design (tasarım) görünümü ise formun yaratıldığı; alanlarının düzenlendiği, yerleştirildiği bir görünümdür. 
 
Varolan bir formun tasarım görünümü onun tasarlanmasını sağlarken, yeni bir formun tasarım görünümünde açılması ise onun yeni baştan bir tablo temelli (bound) ya da menu formu gibi kullanmak üzere bilgi temsil etmeden kullanılmak üzere tasarlanması anlamına gelir. 
 
2. FORM SİHİRBAZI  Form sihirbazı en kolay form yaratma tekniğidir. Sihirbaz formu oluşturacak tablo ya da sorgunun temelinde istenilen tasarımda bir form yaratır. 
 
Form sihirbazında Available Fileds sütununda duran alanlar; sağ tarafa form üzerine Selected Fields görülmek üzere alınırlar. Alanların hangilerinin ya da tamamının seçilerek sağ taraftaki kutuya taşınır.
 
Ardından Next düğmesine basılarak formun alanlarının nasıl gösterileceği (formun tipi) seçilir. 
 
Form türleri: Form Türü  Açıklama Columnar (Sütunlu) Kolon tipinde (bir sayfada bir kayıt) form yaratır. Özellikle müşteri kartı, stok kartı, personel kartı gibi verilerin gösterimi için idealdir. Tabular (Sekmeli) Yatay olarak bir sayfada çok sayıda kayıtın yer aldığı formlar. Özellikle cari hareket, stok hareket, sipariş kayıtları gibi veriler için idealdir.  Datasheet (Veri Sayfası) Çalışma tablosu biçiminde formlar. Tabloların veritablosu görünümünde bir form yaratmak için kullanılır.  Justified (Dayalı) Alanların form üzerine yatay ancak sütünlü biçimde sıralandığı bir form şeklidir. 
 
Form biçimi seçenekleri formun görünümünü etkiler. Desenler, renkler ve zeminlerin seçildiği bu seçenekler formların iyi görünümü sağlamak için kullanılır. Ardından formun adı verilerek veritabanına eklenir. Bu aşamada form istenirse içindeki bilgilerde açılır (varsayım) ya da tasarım görünümünde açılır.  Ardından Finish düğmesine basılarak seçilen düzende form oluşturulur:

 3. OTOMATİK FORM YARATMAK Veritabanında bir tablo seçilir. Ardından Access veritabanı araç çubuğunda yer alan yeni nesne düğmesine tıklanır. Buradan AutoForm seçilerek tablo için form yaratılır. 
 
4. FORM ÜZERİNDE HAREKET Kolonlu (columnar) olarak oluşturulan formlarda bir sonraki, bir önceki, ilk ve son kayda geçmek için formun alt satırında bulunan kayıt göstergeci kullanılır: 
 
Formun altında yer alan bu düğmeler aracılığıyla bulunulan karttan bir sonraki karta ya da bir önceki karta hareket edilebilir.   
 
5. YENİ VERİ GİRİŞİ Mevcut form üzerinden tabloya veri girmek için   aracı kullanılır. Bu araca basıldığında tablonun en son kaydının ardından yeni bir kayıt girmek için tablo alanları boşaltılarak yeni bir kayıt alanı açılır: 
 
6. YENİ FORM TASARIMI Yeni bir form tasarımında form üzerinde alanları temsil etmek üzere araç kutusu kullanılır: Araç kutusu (Toolbox) üzerinde denetimlerinin (denetimlerin) bulunduğu bir araç listesidir. Kullanıcı istediği aracı buradan alarak form üzerinde yaratabilir (çizilebilir). Denetimler, kullanıcının veri girişini, seçeneklerini vb. isteklerini kabul eder. Denetimlerin belli özellikleri (properties) vardır. Bu özellikler denetimin görünümünü, konumunu, boyutlarını, rengini, davranış biçimini (kullanıcının hareketlerine tepki) vb. yönlerini tanımlar.
 
1. ARAÇ KUTUSU Araç kutusu (Toolbox) denetimleri yaratmak için kullanılır: Araç kutusu üzerinde bulunan araçlar ve işlevleri şunlardır: Araç kutusu üzerinde bulunan araçlar belli bir denetimin form üzerine eklenmesini sağlarlar. 
 
Denetim Sihirbazı (Control Wizard), belli denetimlerin yaratılmasına yardımcı olur. Denetim sihirbazı özellikle form üzerine Komut düğmelerinin (command buttons) yerleştirilmesini ve bunların belli bir işlem için bağlanmasını sağlar. Örneğin boş bir form üzerine konan bir komut düğmesiyle diğer formları açmak ve böylece bir ana menü oluşturmak gibi. 
 
Araç kutusunda yer alan denetimler (kontrol ) listesi:
 
Kontrol    İşlevi Metin Kutusu (Textbox)  Karakter (text), sayılar ve simgelerden oluşan verilerin göstermeye yarar. Etiket (Label)    Açıklayıcı bilgiler verir. Seçenek Kutusu (Option Button) Durumun doğru ya da yanlış (Yes/No) olduğunu belirtir. Seçeneklerden birisinin seçilebileceği durumlarda kullanılır. Seçenek Kutusu (Option Button) Durumun doğru ya da yanlış (Yes/No) olduğunu belirtir. Seçeneklerden birisinin seçilebileceği durumlarda kullanılır. Aç/Kapa Düğmesi (toggle button) Aç/kapa düğmesi (toggle button) bir durumu gösterir. Liste Kutusu (List box)   Bir değerler listesini göstermek için kullanılır. Kullanıcı listeden bir değeri seçerek seçimini yapar.  Combo Kutusu (Combo Box)  Metin kutusu ve liste kutusunun özelliklerini birlikte taşıyan bir kontroldür.
Grafik (Graph)    Form ya da rapor üzerinde bir grafiğin çizilmesini sağlar. Komut Düğmesi (Command Button) Bir makroyu (macro) ya da Access Basic kodunu (event procedure) çalıştırmaya yarar. Bağımsız Nesne Çerçevesi (Unbound object frame) Bağımsız nesne çerçevesi (unbound object frame), bir grafiği, bir resmi ya da bir OLE nesnesini (herhangi bir diğer uygulamadan alınan bir resim vb.) gömülü (embed) olarak ya da bağlı (linked) gösterir. Bağlı Nesne Çerçevesi (Bound object frame) Bağlı nesne çerçevesi (Bound object frame) ise Access veritabanı içinde bulunan bir resmi, grafiği ya da bir OLE nesnesini gösterir.  Çizgi (line)    Çizgi (line) aracı; form üzerinde yatay, dikey ya da çapraz bir çizginin (doğrunun) çizilmesini sağlar. Dörtgen (Rectangle)   Dörtgen (Rectangle) aracı, form üzerinde bir dörtgen çizmeye yarar. Seçenek Grubu (Option Group) Kontrol kutuları, seçenek kutuları ve aç/kapa anahtarlarını içeren çerçeve. 
 
formun tasarım durumunda; form üzerinde hazır ve eklenen yeni denetimlerin yeri değiştirilebilir. Bu işlemleri için çok sayıda araca sahipsiniz: 
 
B. ANA VE ALT FORMLAR Stok kartı tablosu ile sipariş arasında bir-çok türünde bir ilişki vardır. Bu tablolar form haline getirildiğinde de bu ilişki devam eder ve form tasarımında ya da alt formu ana forma sürükleyerek bırakarak birleşik formlar yaratılabilir. 
 
Ana Form (Main Form): İçinde bir form (alt form) olan formdur. Genellikle bir sabit bilgi formu; Müşteri formu, Stok formu vb. Formlar ana form olarak kullanılırlar. 
 
Alt Form (Sub Form): Bir formun içinde bulunan form. Alt formlar genellikle bir hareket formlarını; cari hareket, stok hareketi, sipariş vb. kayıtları içerirler. 
 
NOT: Bir ana form içinde yer alan ana ve alt form arasında bir ilişki mutlaka vardır; Alt forma ana forma ait olan kayıtları gösterir. 
 
1. ANA VE ALT FORMLARIN TASARIMI Bir ana ve alt (Sub/Main) form yaratma işlemi; içinde birden çok form olan bir birleşik form yaratma işlemidir. Birleşik formu yaratmadan önce; formun ne için kullanılacağı düşünülmeli ve tasarlanmalıdır. 
 
Form sihirbazı kullanmadan bir Ana/alt form yaratmak için önce iki form da yaratılmalı ve kendi adlarıyla saklanmalıdır. Ana form bir tablo üzerine, alt form ise bir tablo ya da sorgu üzerine kurulabilir. Alt formu ana forma eklemek için; Alt form ana form üzerine sürüklenir.
 
III. UYGULAMALAR Varolan örneğimizde tablolar ve sorgular üzerine formlar oluşturalım: 
 
Bilgiler:  STOK KARTI MUSTERİ KARTI SİPARİŞ ANKET Kodu   Kodu   Tarih  Kodu Tanımı   Unvanı   Sip No  Anket Metni Grup Kodu  Grubu   Mus Kodu 
Satıcı Firma  Adresi   Stok Kodu  Birimi   İlçesi   Birimi  Birim Fiyatı  İli   Adet  KDV   Tel   Ta şıyıcı Firma  Depo Kodu  Fax   Siparişi Alan  Paket Kodu  Vergi Dairesi   Açıklama  Vergi No   Resmi   Kredisi      Hesap Açılış Tarihi       Resmi      Web sitesi   
 
 
PERSONEL (SİPARİŞİ ALANLAR) TAŞIYICI FİRMA Kodu     Kodu Adı Soyadı    Ünvanı Adresi     Adresi İli     İli İşe Giriş Tarihi    Güzergah   Yapılabilecek formlar: -Stok kartı için columnar bir form -Müşteri kartı için columnar bir form -Anket için columnar bir form -Personel için columnar bir form -Taşıyıcı için columnar bir form -Sipariş için tabular bir form
 
IV. GÖZDEN GEÇİRME 1. Tabular (Sekmeli) ve Columnar (Sütunlu) formların amacı nedir? 2. Bir form yaratmak için kaç tane yolunuz var? 3. Formları yararları ve tipik kullanım alanları nelerdir? 4. Alt/Ana form kavramı nedir? Böyle bir yapı için örnek verin?
 
 
10
Bilgisayar Dershanesi / Re: Access Kurs Planı
Last post by Karamsar - Feb 23, 2019, 10:41 AM
Örneğin yeni bir tablo ya da yeni bir sorgu yaratmak gibi. 
 
İPUCU: Veritabanımız içinde bir tablo yaratmak için Tables bölümünde New düğmesine tıklamak yeterlidir. Ardından Design View kullanılarak tablonun alanları tasarlanır. Böylece veritabanının ilk nesnesi tasarlanmış olur. 
 
1. ACCESS 2000 İLE GELEN YENİ NESNE YARATMA ALANLARI Access 2000 ile birlikte veritabanı nesnelerinin yaratılmasında kullanılacak yeni araçlar gelmiştir. Bu araçlar o nesne seçildiğinde nesne yaratma elemanları olarak listelenir. 
 
Örneğin tablo yaratmak için kullanacağınız Tables (Tablolar) bölümünde şu seçenekler yer alır. 
 
-Create table in Design view (Tasarım Görünümünde Tablo Oluştur) -Create table by using Wizards (Sihirbazı Kullanarak Tablo Oluştur) -Create table by entering data (Veriler Girerek Tablo Oluştur)
 
Bu seçenekler değişik şekillerde tablo yaratılmasını sağlar. 
 
-Create table in Design view; tablo tasarım görünümünden yaratılır. Bu görünümde alanlar ve özellikleri düzenlenir.  -Create table by using Wizards;  tablo yaratmak için sihirbaz kullanılır. -Create table by entering data;tablo yaratmak için datasheet görünümü kullanılır. Alan adları Field1, Field2 şeklinde verilir. 
 
C. VAROLAN BİR VERİTABANINI AÇMAK Önceki konuda yeni bir veritabanı dosyasını nasıl yaratacağımızı gördük. Peki yaratıp kaydettiğimiz bir veritabanını daha sonra nasıl açacağız? Daha önce yaratılmış bir veritabanını açmak için; ya başlangıçta Open an existing file (Varolan veritabanını aç) seçeneği ya da Access başlangıç menüsünden File (Dosya) menüsünün ardından Open (Aç) komutu kullanılır. 
 
İPUCU: Access veritabanı dosyalarının uzantısı .MDB dir. 
 
 
D. VERİTABANI NESNELERİNİ KOPYALAMAK Bir veritabanı bir dosyadan oluşur. Musteri.mdb gibi. Ancak bir veritabanı içinde bulunan herhangi bir nesnenin de kopyalanması söz konusu olabilir. Bu işlem için yine nesnenin veritabanı penceresi içinden seçilmesinin ardından bildiğimiz Copy ve Paste işlemleri yapılır. 
 
Bir nesne üzerinde Copy (Kopyala) komutu seçildikten sonra Paste (Yapıştır) düğmesine tıklandığında Microsoft Access kopyalama yolu ile yaratılacak yeni nesnenin adını sorar. Ayrıca nesnenin içeriği ile ilgili seçenekler seçilir. 
 
Nesneleri kopyalamak için şu adımları izleyin:  1. Veritabanı penceresi üzerinde istenilen nesne seçilir.  2. Araç çubuğu üzerinde Copy (Kopyala) düğmesine tıklanır.  3. Ardından Paste (Yapıştır) düğmesine tıklanır.  4. Yeni nesnenin adı girilir ve diğer seçenekleri düzenlenir. 
 
E. VERİTABANI NESNELERİNİN SİLİNMESİ Herhangi bir veritabanı nesnesini silmek için; nesneyi seçtikten sonra Delete tuşuna tıklamanız yeterlidir. Bu işlem için diğer bir alternatif yol ise sağ tuşa tıklayıp ekrana gelen menüden Delete komutunu seçmektir. 
 
DİKKAT: Bir veritabanı nesnesini silmek geri dönüşü olmayan bir işlemdir! Artık bir daha istemediğinizden emin olduğunuz nesneleri silin. 
 
F. VERİTABANI NESNELERİNİN ADINI DEĞİŞTİRMEK Bir veritabanı nesnesinin adını değiştirmek gerektiğinde; yine veritabanı nesnesi seçilir. Ardından farenin sağ tuşuna tıklanır ve Rename komutuna tıklanır. Ardından nesnenin yeni adı girilir. 
 
NOT: Access 2000, Bir formu, tabloyu, sorguyu, alanı ya da diğer bir kontrolün adının değiştirilmesi durumunda ortaya çıkacak sorunları gidermek için ilgili bileşenlerin de otomatik olarak yeniden adlandırılmasını sağlar. 
 
G. VERİTABANI ÖZELLİKLERİ Veritabanında yer alan her bir nesnenin özellikleri olduğu gibi veritabanının kendisinin de özellikleri vardır. Bu özellikler Summary, Statistics, Contents ve Custom sekmesi altında yer alır. 
 
General sekmesinde veritabanı adı, yeri, büyüklüğü gibi bilgiler yer alır. Bunun dışında veritabanı dosyasının read-only, hidden ve archive gibi özellikleri düzenlenir. 
 
İPUCU: Bir veritabanı dosyası açıkken bu özellikleri düzenlenemez. Bu nedenle File Open iletişim kutusunda iken farenin sağ tuşuna tıklanarak elde edilen Properties (Özellikler) iletişim kutusundan bu özellikler düzenlenir. 
 
Summary sekmesinde veritabanının yazarı (author), konusu (subject) gib konular yer alır.  Statistics ise veritabanına erişilmesi, değiştirilmesi gibi zaman bilgilerini tutar.  Contents sekmesinde ise veritabanı nesneleri yer alır.  Custom sekmesi ise veritabanı hakkında ek bilgiler tutmanızı sağlar. 
 
Veritabanı özelliklerini düzenlemek için şu işlemleri yerine getirin: 
 
1. File (Dosya) menüsünden Database Properties (Veritabanı Özellikleri) komutu seçilir.  2. Ardından istenilen sekme seçilir.  3. Bilgiler görülür ya da düzenlenir. 
 
H. BİR VERİTABANININ ONARILMASI Şu anda ekranda olmayan (kapalı) bir veritabanının onarılması (repair) gerekebilir. Bu işlem veritabanının bozulma nedeniyle açılamamasından kaynaklanabilir. 
 
Bir veritabanını onarmak için şu adımları izleyin:  1. Mevcut veritabanını kapatın. 2. Tools (Araçlar) menüsünden Database Utilities (Veritabanı Hizmet Programları) seçeneğini ve Repair Database (Veritabanını Onar) komutunu seçin.  3. Repair (Onarma) iletişim kutusunda veritabanını seçin. 4. Repair düğmesine tıklayın. 
NOT: Access bozuk veritabanlarını her zaman kurtarmayabilir. Bu durumlara karşı yedekleme yapmak her zaman çözüm garantisidir. 
 
II. UYGULAMALAR Bu hafta, bir önceki haftanın notlarında yer alan uygulama için veritabanı dosyasını yaratacağız:
 
1. Access'i başlatın.  2. Boş veritabanı yaratma seçeneğini (Blank Access database) seçin.  3. Dosya adı olarak ornekdb yazın.  4. Veritabanı penceresine ulaşın. 
 
Ardından şu işlemleri yapın: 
 
1. Veritabanı nesnelerini inceleyin. 2. File menüsünden Database Properties iletişim kutusunu inceleyin.  3. Sizin veritabanınızda hangi nesnelere gereksinim olacağını ve onların nasıl yaratılabileceğini düşünün. 
 
Diğer işlemler: 
 
Tools menüsünü inceleyin. Tools menünden Database Utilities menüsünü inceleyin. 
 
III. GÖZDEN GEÇİRME 1. Bir veritabanı yaratmak için ne tür bir gereksinim ortaya atılır. İşinizle ya da yapabileceğiniz bir kayıt tutma işlemiyle ilgili (örneğin öğrenci kayıtları) örnekler verin.  2. Veritabanı dosyasının uzantısı nedir? 3. Bir veritabanı penceresi içinde hangi nesneler vardır. Bu nesnelerin rollerini açıklayın.  4. Bir şirket hem üretimini hem de üretimde çalışan personelinin değişik bilgilerini bir veritabanında tutmak istemektedir. Sizce bir veritabanında bütün bu bilgiler için çok sayıda tablo yaratılmalı mı, yoksa bu konular için iki ayrı veritabanı mı tasarlanmalı? 5. Veritabanının özelliklerinin işlevi nedir?
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ders 3 DERS 3: TABLOLAR TASARLAMAK
 
Ders sonunda yapabilecekleriniz: 
 
-Microsoft Access'de tablolar tasarlamak. -Tablo alanlarının özelliklerini düzenlemek. -Veritabanı içindeki tablolar arasında ilişkiler kurmak.
 
I. TABLO YARATMAK Bildiğiniz gibi Microsoft Access © programı bir veritabanı yönetimi programı. Veritabanı üzerinde verilerimizi düzenleyeceğiz. Güzel!. Peki veriler nerede duracak ve nasıl organize edilecek. İşte sorunun yanıtı tablolardır. Tablolar işleyeceğimiz konuyla ilgili veri kümeleridir. Örneğin sipariş tablosu sipariş bilgilerini içirirken, yine aynı veritabanında yer alan fatura tablosu fatura bilgilerini içerir. 
 
Bir Access veritabanı çok sayıda tablodan oluşur. Verilerimizi tablolar halince organize edeceğimiz için tabloları çok iyi bilmemiz gerekir. Diğer bir deyişle Access ile veritabanı yaratmanın ana işlemi tabloları tasarlamak, verileri girmek ya da transfer etmek ve ilişkisel bütünlüğü sağlamak için ilişkileri kurmaktır. 
 
Örneğin; bir müşteri veritabanı oluşturmak için; müşteri sabit bilgileri, adresler, müşteri (cari) hareket bilgileri, stok bilgileri, personel bilgileri gibi tabloları aynı veritabanı içinde yaratmamız gerekir. Tabloların içerdiği veriler belli alanlardan oluşur. Örneğin müşteri sabit bilgileri tablosu, müşterinin kodu, adı, adresi gibi bilgileri içerir. 
 
BAKINIZ: ŞEKİL: BİR ACCESS TABLOSU (AŞAĞIDA)
 
Kayıt (record) kavramı: Hepimizi yakında tanıdığı bir kavramdır bu kayıt sözcüğü. "Öğrenci kaydınız girildi", "kaydınızı bulamadık" derler. Nedir bu kayıt?. Kayıt bir kişiye ya da ürüne özel bilgidir. Örneğin öğrenci kaydı öğrencinin numarası, adı, adresi gibi bilgileri içerir. Kayıt sözcüğü bizim tablolarımızı düzenlemek için kullanacağımız ana öğedir. Diğer bir deyişle bir konunun tablosunu tasarlarken, o tablonun elemanlarının kayıtlarını tasarlayacağız. 
 
A. YENİ BİR TABLO YARATMAK Yeni bir tablo yaratmak için Veritabanı Penceresinde, Tables (Tablolar) bölümü seçilir:
 
Tablo seçenekleri: Tablo yarata seçeneği      İşlevi Create table in Design view (Tasarım Görünümünde Tablo Oluştur) Tablo tasarımı görünümü geçilir.  Create table by using Wizards (Sihirbazı Kullanarak Tablo Oluştur) Sihirbaz aracılığıyla çok sayıda tablo konularından ve alanlarından seçilerek bir tablo yaratılır.  Create table by entering data (Veriler Girerek Tablo Oluştur) Veri girerek tablo yaratmak için alanların görüntülendiği bir görünüme geçilir. 
 
Bunun dışında bir tablo yaratmak için veritabanı penceresinden Tables bölümü seçilir. New
düğmesine basılarak veritabanında bir tablonun yaratılması işlemine başlanır. Yeni düğmesinin ardından ekrana gelen iletişim kutusu ile tablo yaratma yöntemi belirlenir: 
 
 
Yeni tablo yaratmada beş yöntem kullanılır: 
 
Yöntem     İşlevi Datasheet View (Verisayfası Görünümü) Tablo şeklinde veri girişi sağlar. Design View (Tasarım Görünümü)  Tablo tasarımı ekranı. Table Wizard (Tablo Sihirbazı)   Tablo Sihirbazı ile hazır tablolardan yararlanma. Import Table (Tablo Al)   Diğer bir veritabanından tablo alma. Link Table (Tablo Bağla)   Diğer bir veritabanındaki tabloya bağlanma.
 
1. DATASHEET GÖRÜNÜMÜ İLE TABLO YARATMAK Veritablosu görünümü yöntemi kullanımında; alanların adı ve özelliği tasarlanmadan ve temsili alan adları (Alan1, Alan2, ....) kullanılarak tablo görünümünde doğrudan verilerin girilmesi sağlanır. 
 
2. DESIGN GÖÜNÜMÜ İLE TABLO YARATMAK Bir tablonun ayrıntılı biçimde tasarlanacağı yöntemdir. Design (Tasarım) görünümünde tabloyu oluşturan kayıtların alanlarının düzenleneceği bir pencere ekrana gelir. Alanlarının özellikleriyle düzenli bir tablo oluşturmak istiyorsak bu bölümü kullanmalıyız. 
 
Tablonun tasarımı tablo içinde yer alacak birim kaydın tasarlanmasıyla oluşur. Kaydın tasarımı ise; kayıt içinde yer alacak alanların adlarının ve özelliklerinin (tiplerinin ve boyutlarının) tasarlanmasıdır. 
 
NOT: Bu dokümanlar Faruk Çubukçu tarafından hazırlanmıştır. Burada adı geçen ticari ünvanlar ve markalar bilgi amaçlı kullanılmışlardır ve kendi imtiyazlarına sahiptirler. Bu dokümanlar ticari amaçlı olarak kullanılmaz. Daha fazla bilgi için www.farukcubukcu.com adresine bakınız. 
 
Alanların Adları: Alan adları Alan Adı kolonuna girilir. Alan bilgisinin ilk özelliği alanın adıdır. Alan adları maksimum 64 karakter olmak üzere harfler ve rakamlardan oluşur. Alan adlarında boşluk da kullanılabilir. Bir kayıtta en çok 256 alan bulunabilir. Örneğin müşteri adı.
 
Alan Türleri: Alanlar, müşteri adı gibi bir  bilgiyi içeren yerlerdir. Her alanda değişik özelliklerde veriler saklanacağından alanların belli türlerde olması gerekir. Sayısal ya da alfabetik (text) gibi. 
 
Alan türlerinin (tiplerinin) özellikleri ve bilgisayarda kapladıkları yer:
 
Veri Türü   Veri  Kapladığı yer Text (Metin)       Metin Alfabetik ve sayısal karakterleri saklar. Sayısal işlem yapılmaz.  1-255 bayt Memo (Not)    Not Alfabetik ve sayısal karakterleri saklar. Sayısal işlem yapılmaz. Genellikle uzun açıklama ve metinler.              1-64,000 bayt.
Number (Sayı)   Sayısal bilgiler         1,2,4 ya da 8 bayt. (Seçime göre) Date/time (Tarih/Saat)  Tarih ve zaman         8 bayt Currency (Para Birimi)  Parasal değerler.        15 sayı basamağı ile 4 onlu basamak ise hesaplamadaki yuvarlamayı önlemek için kullanılır.    8 bayt Autonumber (Otomatik Sayı) Otomatik olarak artırılan sayısal değerler. Genellikle sıra numarası vb gibi alanlar için. 4 bayt Yes/No (Evet/Hayır)  Boolean (ikili) değerler.        1 bit. OLE Objects (OLE Nesnesi) windows ortamında bir nesne ya da diğer ikili veriler.      1 Gigabayt'a kadar.  Hyperlink (Köprü)  Bir Internet adresine bağlanmayı sağlayan veri tipi. 
 
Yukarıdaki veri türlerine göre kullanıcı alanda saklayacağı değişkene uygun veri tipini verir. Örneğin Autonumber alanlar genellikle bir numara ya da kodun sürekli artarak otomatik olarak doldurulduğu  alanlar için kullanılır. Örneğin kayıt numarası ve sıra numarası gibi.  OLE Objects ise genellikle resim vb. bilgileri saklamak için kullanılır. 
 
Kullanıcı için diğer bir ayrım da; üzerinde aritmetik işlem yapılacak ya da yapılmayacak verilerdir: Örneğin bir tutar, adet, fiyat, borç, alacak vb. bilgiler üzerinde aritmetik işlem yapılacağı için bu bilgiler Number olarak seçilmeli ve uygun biçimde düzenlenerek kullanılmalıdır. Bunun dışında adı, telefon numarası, fax numarası gibi bilgiler Text olarak düzenlenmelidir. 
 
3. TABLOLARIN DİĞER KAYNAKLARDAN ELDE EDİLMESİ Microsoft Access içinde kullanabileceğiniz veriler diğer uygulamalardan da transfer edilebilir. Yani tabloları yaratıp içine veri girmek yerine, örneğin Microsoft Excel'de ya da LOGO programı içindeki verileri Access tablolara aktarmak mümkündür. 
 
Diğer kaynaklardan alınacak veriler için Access içinde iki aracınız vardır. Import ve Link. 
 
Import işlemi tablonun diğer kaynaktan transfer edilmesini sağlarken, link işlemi veriye yapılan bir bağlantı işlemidir. 
 
NOT: Tablolara veri transfer etmeyi kursumuzun 7. haftasında geniş olarak ele alacağız. 
 
B. TABLO TASARLAMAK Tablo tasarımı bir tablo yaratma işleminin en ayrıntılı bölümüdür. Yeni bir tablo tasarlamak için Tables (Tablolar) bölümünden New (Yeni) düğmesine tıklanır. Ardından yeni tablo yaratmak seçeneklerinden Create table in Design view seçilir: 
 
Bunun dışında yine aynı işlem için Tables bölümünden New düğmesine basılır ve Design düğmesine tıklanır. Buradan da Design View seçilir. 
 
Design görünümde tablonun alanlarını (fields) tasarlamak için karşınıza bir ekran gelir. Bir tablo tasarımı için yapılacak ilk iş alanların adını ve türlerinin düzenlenmesidir. Alan adları (Fields name) tablo içindeki veriler temsil edecek kolonların adlarıdır. Örneğin bir müşteri tablosundaki kodu, adı, adresi vb. Gibi. 

 1. PRİMARY KEY DÜZENLEMEK Bir tablo tasarımında; birim kaydın tasarlandığını daha önce de belirtmiştik. Kayıt alanlarının belirlenmesinde verileri temsil eden alanlardan bir ya da daha fazlası Primary Key (ana anahtar) olarak düzenlenir. Anahtar (key) alan kayıtlara daha kolay ulaşmayı ve onları tek olarak temsil etmeyi sağlayan bir bilgidir. Örneğin öğrenci kaydı içindeki öğrenci numarası öğrenci kaydının ana anahtarı olabilir. 
 
Örneğin Müşteri kaydında ise Müşteri kodu bir ana anahtar alan olabilir. 
 
İPUCU: Bir alanı ana anahtar yapmak için Anahtar resmine sahip düğme kullanılır.  Önce anahtar olacak bir ya da daha çok alan seçildikten sonra anahtar düğmesine basılır. 
 
Ana anahtar kullanımının yararları -Tablolar arasında kolayca ilişki kurabilmektir.  -Bilgilere hızlı erişimi sağlamak. -Çift girişleri (veri tekrarını) önlemek. -Boşluk girilmesini engellemek.
 
İPUCU: Tablo tasarımında ana anahtar düzenlemesi ilk başta tasarlanmalı ve düzenlenmelidir. Çok sayıda veri girişinin ardından ana anahtar düzenlemesi başarılı olmayabilir. Çünkü alana girilen boşluk ve çift değerler ana anahtar düzenlemesini engellerler.    2. ALAN ÖZELLİKLERİNİN DÜZENLENMESİ Bir tablo tasarımında diğer önemli bir konuda alanların  özelliklerinin düzenlenmesidir. Özellikler (Properties) tasarım sırasında ya da tasarımdan sonra düzenlenebilir. Alan özellikleri tablo tasarımında ekranın altında yer alır: 
 
Özellikler, tablonun daha etkin olarak kullanımı sağlanır. Veri girişinde yapılan hatalar önlenir, varsayılan değerler düzenlenerek otomatik olarak tabloya eklenmesi sağlanır, verilerin biçimi (formatı) düzenlenir, indeksler düzenlenerek arama ve sıralama işlemleri yapılır. 
 
Tablo: Alan özellikleri  Özellik    İşlevi Field Size (Alan Boyutu)  Text ve sayısal alanın uzunluğunu sınırlar. Format (Biçim)    Tarih ve sayısal bilginin belli bir biçimde görüntülenmesini sağlar.  Decimal Places (Ondalık Basamaklar) Format özelliği ile biçimlenen sayısal bilginin onlu noktadan sonraki basamak sayısını (kuruş) düzenler.  Input Mask (Giriş Maskesi)  Belli bir biçimi görüntüleyerek verinin belli bir biçimde girilmesini sağlar.  Caption (Resim)    Yazısı Alana başlık verir.  Default Value (Varsayılan Değer) Belli bir sabit değeri yeni eklenen kayda otomatik olarak ekler. Hazır değer. Validation Rule (Geçerlik Kuralı) Belli bir kritere uyan değerin girilmesini sağlar.  Validation Text (Geçerlik Metni) ValidationRule (Sağlama kuralı) bozulduğunda verilecek mesajın metni.  Required (Gerekli)   Alana veri girilmesi gerektiğini belirtir.  Allow Zero Length (Sıfır Uzunluk İzni) Sıfır uzunluklu bir text bilginin Text ya da Memo tipli bir alan olarak saklanmasını sağlar. 
Indexed (Sıralı)   Alanı indeksleyerek daha hızlı aranmasını sağlar. 
 
3. INPUT MASK ÖZELLİĞİ Input Mask (Giriş Maskesi), metin bilgiler için kullanıcının veriyi belli bir biçimde girmesini sağlar. Örneğin telefon numaraları ya da muhasebe hesap planı gibi belli sayıda ve konumda veri girişini sağlar. 
 
Giriş Maskesi; tablo tasarımında seçilen alanın Input Mask özelliğinin düzenlenmesiyle sağlanır: Eğer telefon, faks numarası, stok kodları vb.  gibi yaygın kullanılan bir giriş formatına gereksinim varsa o zaman   düğmesine basılarak Input Mask Wizard kullanılır. 
 
İPUCU: Bazen Input Mask Wizard'ının çalışmadığı görülür. Bu Access'in yükleme sırasında eksik yüklendiğinden olur. Bu nedenle program CD'inden Access'in eksik bölümleri tekrar yüklenmelidir. 
 
2. DEFAULT ÖZELLİĞİ Default (varsayılan değer) özelliği bir alanda sürekli kullanılan bir değeri belirtir. Daha sonra giriş, görünümde ve formlarda bu alanın değeri otomatik olarak yer alır. Varsayılan değer alanda hazır olarak bulunur. Ancak kullanıcı bunu değiştirebilir. Amaç alanın içinde genellikle bulunacak bu değeri alanın içinde hazır olarak tutmak ve veri girişinde zaman kazanmaktır. Örneğin; ülkesi alanında "TC" ya da ili alanına "İstanbul" yazmak gibi. .
 
4. VALIDATION RULE ve TEXT ÖZELLİĞİ En önemli özelliklerden birisidir. Alanlara girilen değerleri özelliklerine (tipine) göre kontrol eder. Örneğin, sayısal özelliğine sahip bir alana metin (alfabetik) bilgi girilemez. Validation Rule (Geçerlilik Kuralı) alana girilecek verinin belli bir kurala uymasını zorunlu kılar. Validation Text ise girilen verinin kuralı sağlamaması durumunda verilecek mesajı içerir. Örneğin alana 0'dan büyük bir değer girilmesini zorunlu kılan bir kural konabilir. Eğer kurala uyulmazsa mesaj verilir. 
 
Örnekler:
 
Karakter İşlevi >0  Sıfırdan büyük girilmesini sağlar.  <>  Sıfırdan farklı bir değer girilmesini sağlar.  0 Or >100 0 ile 100 arasında bir değer girilmesini sağlar. "BUYUK" OR "KUCUK" BUYUK ya da KUCUK değerlerinden birisi girilecek. BETWEEN 1 AND 10 1 ile 10 arasında bir değer (dahil) girilmesini sağlar.
 
5. INDEXED ÖZELLİĞİ Ana anahtar dışında kayıtlara, özellikle hızlı erişmek için kullanılır. Özellikle sorgularda aranacak alanlar için düşünülebilir. 
 
 
C. TABLOYA VERİ GİRİLMESİ Tablonun tasarımının ardından tabloya veri girilebilir. Veri girişi için tablonun veri sayfası (datasheet) görünümü kullanılır. Veri girişi tablodan yapılabileceği gibi; ileriki konularda görüleceği gibi genellikle formlardan yapılır. Çünkü tablolar veri girişi için çok uygun (görsel olarak) yerler olmayabilir. 
 
NOT: Tablo alanlarına veri girişi yapılırken alan tiplerine uygun veri girilmelidir. Tarih alanına tarih, sayısal alana sayısal veri girilmelidir. Bunun dışında indeks ve ana anahtar alanlarına da uygun veriler girilmelidir. Örneğin ana anahtar olan alana birinci kayıtta olan bir bilgi ikinci kaydına da girilmemelidir. 
 
II. İLİŞKİLERİ  DÜZENLEMEK Eğer ilişkiler kullanarak tablolarınızı bütünleştiremiyorsanız, Microsoft Access'i aynı Microsoft Excel gibi kullanıyorsunuz demektir. Diğer bir deyişle Access gibi ilişkisel veritabanı yazılımından yararlanabilmek için ilişkiler konusunu iyi bilmek gerekir. Bu durumda Access'i kullanmanın bir esprisi olmayabilir... 
 
İlişki (relationship), temel olarak iki tablo arasında aynı özellikte olan ve tekrar eden iki (aynı) alan arasında kurulur. İki tablo arasında ilişki oluşturmanın birincil nedeni tablo arasında bir bağlantı ve kontrolün sağlanmasıdır. Örneğin müşteri ana bilgileri tablosuyla, müşteri hareket bilgileri tablosu arasında bir ilişki kurularak bu iki tabloya yapılan eklemelerin ve güncellemelerin kontrollü bir şekilde yapılması sağlanır. Daha açık bir ifadeyle, olmayan bir müşteriye hareket kaydı girilmesi engellenir. 
 
Microsoft Access'te tablolar arasındaki üç türlü ilişki kurulabilir: 
 
-Bir-Çok İlişki (One-to-many relationship) -Çok-Çok İlişki (Many-to-many relationship) -Bir-Bir İlişki (One-to-one relationship)
 
Bir-Çok ilişkiler, ilişkisel veritabanında çok yaygın biçimde yer alırlar. Bu ilişkide bir tablonun bir kaydına karşılık diğer tabloda çok sayıda kayıt vardır. 
 
Bu ilişkide birinci tablonun bir kaydına karşılık ikinci tabloda bir kayıt vardır. Aslında bu tür bir ilişki, tablolar arasında ilişkiden öte bir uzantıdır. Çünkü birebir ilişki demek kayıtların birbirinin devamı ya da iki tablo alanlarının bir tablo içindeymiş gibi kullanılmasını sağlar. 
 
A. İLİŞKİLERİ DÜZENLEMEK Veritabanı içinde ilgili tablolar yaratıldığında aralarında herhangi bir ilişki oluşmaz. Veritabanında yer alan tablolar arasındaki ilişkiler daha sonra yaratılır. 
 
1. Veritabanı penceresinde ilişkiler penceresine ulaşmak için araç çubuğundan Relationships (İlişkiler) düğmesine basılır ya da Tools menüsünden Relationships komutu seçilir.   2. İlişkiler penceresine alınacak tablolar seçilir. 
 
Daha sonra aralarında ilişki kurulacak tablolarla birlikte ilişki penceresi ekrana gelir. Kullanıcı yukarıdaki iletişim kutusundan istediği tabloları (ve sorguları) seçer. Daha sonra aralarındaki ilişkileri düzenler.  3. Ana anahtara tablonun alanı (birincil anahtarı) alt tablonun alanının (yabancı anahtar / foreign key) üzerine bırakılır. 
 
DİKKAT: İki tablo arasında ilişki kurulacak alanlar aynı tipte olmak zorundadır. Bunun dışında tablolara eğer veri girilmişse bunlarda tutarlı olmalıdır. Örneğin müşteri kodu alanı üzerinden iki tablo arasında ilişki kurulacaksa, bu alanlara farklı değerler girilmişse ilişki kurulamaz, hata oluşur. 
 
DİKKAT: İki tablo arasında ilişki kurmak ve bütünlüğe zorlamak için Enforce Referential Integrity (Bilgi Tutarlılığına Zorla) seçeneğinin işaretlenmesi gerekir. Bu düzenleme tablolardaki verilerin kontrolü yapar. 
 
 
III. UYGULAMALAR FC ecza  deposu bin kadar üyesine ilaç toptan ilaç pazarlamak üzere kurulmuştur. FC ecza ilaç siparişlerini takip etmek için bir veritabanı geliştirmek istemektedir. Siz bir veritabanı yöneticisi olarak Microsoft Access ile veritabanını geliştirin.
 
Sipariş sisteminin yanı sıra bir süre sonra FC ecza deposu müşterileri için bir anket yapmaya karar vermiştir. Anketler de veritabanına bir metin bilgisi olarak eklenecektir. Bu koşullar altında; tabloları ve kayıtların birbiriyle bütünlüğün sağlayacak olan olası ilişkileri tanımlayın.
 
Bilgiler:  STOK KARTI MUSTERİ KARTI SİPARİŞ ANKET Kodu   Kodu   Tarih  Kodu Tanımı   Unvanı   Sip No  Anket Metni Grup Kodu  Grubu   Mus Kodu  Satıcı Firma  Adresi   Stok Kodu  Birimi   İlçesi   Birimi  Birim Fiyatı  İli   Adet  KDV   Tel   Ta şıyıcı Firma  Depo Kodu  Fax   Siparişi Alan  Paket Kodu  Vergi Dairesi   Açıklama  Vergi No   Resmi   Kredisi      Hesap Açılış Tarihi       Resmi      Web sitesi   
 
 
PERSONEL (SİPARİŞİ ALANLAR) TAŞIYICI FİRMA Kodu  Kodu Adı Soyadı Ünvanı Adresi  Adresi İli  İli İşe Giriş Tarihi Güzergah   Notlar:  -Birim fiyatlar genellikle "Adet" olarak düzenlenecektir.  -Fiyat ve adet bilgilerine mutlaka pozitif bir değer girilecektir.  -Sipariş tarihi "günün" tarihi olarak otomatik olarak düzenlenecektir. -Grup kodları, iller ve diğer seçenekli girişler bir combo box olarak düzenlenecektir.  -Sipariş ekranındaki; müşteri kodu, stok kodu ve taşıyıcı firma combo olarak düzenlenecektir (Lookup Wizard) ve bilgilerin diğer tablodan otomatik olarak seçilmesini sağlayacaktır. 
 
1. İlişkileri Kurun Müşteri-Sipariş Müşteri-Anket
Stok-sipariş Personel-sipariş Taşıyıcı firma-sipariş arasındaki ilişkileri kurun. 
 
2. Örnek veriler girin: 
 
3. İstenen sorgular:  -Müşterilerin ili içinde grubu, grubu içinde alfabetik sırada ünvanlarının yer aldığı liste. -Adının ilk harfi  A-D arasında olan müşteriler? -Verilen iki tarih arasında (parametrik) siparişlerin adet ve tutarları? -Verilen iki tarih arasında ve belli bir müşteri konu için siparişlerin adet ve tutarları? -Verilen iki tarih arasında ve belli bir müşteri ve siparişi alan eleman olarak siparişlerin adet ve tutarları? -Verilen iki tarih arasında, belli bir müşteri, belli bir mal ve siparişi alan eleman olarak siparişlerin adet ve tutarları? -Malların KDV oranlarını 15 olanların 20'ye çevrilmesi. -En yüksek sipariş alan elemanı bulmak için elemanların sipariş toplamlarını gösteren bir sıralı liste (azalan). -Hiç siparişi olmayan müşterilen alfabetik sırada listesi. -İli "İzmir" olan ve telefon numarasının ilk karakteri 4 olan müşterilerin alfabetik sırada listesi. -İli "İzmir" ya da "Manisa" olan müşterilerin il içinde alfabetik sırada listesi.  -Sipariş adedi olarak en çok mal taşıyan taşıyıcı firma? -Sipariş alan elemanların toplam (tutar) siparişleri. -Stokta Birim fiyatlara %10 zam. -Sadece belli gruptan olan stokların birim fiyatlarına %10 zam. -Stokların depo kodunun ilk iki karakteri ile tanımlarının ilk iki karakterinin birleşiminin listesi. -Sipariş toplamlarının taşıyıcı firma güzergahlarına göre listesi.
 
4. İstenen formlar Formlar verilerin girilmesi, istenen bir bilgini aranması, değişik şekillerde filtrelemeler yapılması için geliştirilen nesnelerdir. 
 
Yapılacaklar (a) -Stok kartı için columnar (sütunlu) bir form -Müşteri kartı için columnar bir form -Anket için columnar bir form -Personel için columnar bir form -Taşıyıcı için columnar bir form -Sipariş için tabular bir form
 
Yapılacaklar (b) -Müşteri formu için olası alanlara combo box ekleyin. -Müşteri formu için olası alanlara Validation Rule ekleyin. -Müşteri formu için form zeminini değiştirin. -Müşteri formunun altına kendi hazırladığınız bir bitmap dosyayı koyun. -Müşterinin Web sitesi bilgisini tablo tasarımına ekleyin. Daha sonra bunun form üzerinden girilmesini sağlayın. Web sitesi alanına www.microsoft.com girin. Ardından üzerine tıklayarak ona ulaşmaya çalışın. -Sipariş formunun alt başlık kısmına adet toplamı alın. -Sipariş formunda birim fiyat ve tutarın görünmesini sağlayın.
Pages1 2 3 ... 10