Yazılı Access Dersleri
SORGU OLUŞTURMAK

Sorgular, tablolardaki çok sayıda kayıt içerisinden istenilen kriterlere uyan kayıtları süzerek görmemizi sağlayan veritabanı nesneleridir.
Tasarım görünümünde sorgu oluşturma

1- Sorgular bölümünde Yeni düğmesine basılır.

2- Gelen ekranda Tasarım görünümü seçili iken Tamam düğmesine basılır.

3- Sorgu tasarımına girildiğinde sorguya hangi tabloları ekleyeceğimizi soran bir pencere açılır. Bu pencerede sorguda kullanılacak tablolar ayrı ayrı veya birlikte seçilerek Ekle düğmesine basılır. Daha sonra bu pencere kapatılır.

4- Sorgu ekranında istenilen tablodan sorguda yer almasını istediğimiz alanlar ayrı ayrı alınarak alt taraftaki sorgu sütunlarına eklenir. Bunun için alan adından fare ile basılı tutup sürükleyerek aşağıdaki sütunlara indirilip bırakılabilir.

5- Sorgu sonucunun belli bir alandaki bilgilere göre sıralanmasını istiyorsak o alan için Sırala özelliği açılıp Artan veya Azalan seçeneği seçilebilir.

6- Sorgu sonucunda görünmesini istemediğimiz alanlar varsa bu alanlar için Göster kutucuğundaki işaret kaldırılabilir.

7- Sorgu sonucunda ilişkili tablodaki tüm kayıtları değil, belli bir kritere uyan kayıtları görmek istiyorsak kriter belirtilecek alan için Ölçüt bölümüne istenilen kriter bilgisi yazılır. Eğer aynı alan için birden fazla ölçüt yazılacaksa alt alta bunlar yazılır. Bu durumda ölçütler arasındaki bağlaç veya olur. Eğer birden fazla alana ölçüt yazılırsa bu durumda ölçütler arasındaki bağlaç ve olur.


Bu sorgu tasarımının cümlesel ifadesi şu şekilde söylenebilir : Öğretmenler tablosundan Okul kodu 121515 VEYA 121539 olan kayıtların MEBSIS NO, ADI, SOYADI, BRANŞ KODU alanlarındaki kayıtları branş koduna göre artan sıralı olarak görüntüle.

Bu sorgu tasarımının cümlesel ifadesi şu şekilde söylenebilir : Öğretmenler tablosundan Okul kodu 121515 olan VE Branş kodu 1314 olan kayıtların MEBSİS NO, ADI, SOYADI alanlarındaki kayıtları soyadına göre artan sıralı olarak görüntüle.

Hazırlanan sorguyu çalıştırmak ve sonucunu görmek için araç çubuğundaki düğmesine basılabilir. Sorgu son halini almış ise kaydedilip saklanabilir.

Sorgu Ölçütlerinde Parametre Metni kullanımı


Sorgularda ölçüt verirken ölçüt ifadesini doğrudan yazıp kaydettiğimizde bu sorgu sadece o ölçüt için çalışır. Yukarıdaki örneklerde olduğu gibi okul kodu alanına ölçüt olarak tek bir okulun kodunu yazıp sorguyu böyle kullanırsak her seferinde sadece bu okuldaki öğretmenleri görüntüler. Bu şekildi düşündüğümüzde her okul için ayrı ayrı sorgu hazırlamak gerekecektir. Sorgu ölçütlerini genel hale getirebilmek için ölçüt alanına doğrudan bir ifade yazmak yerine parametre metni yazılıp kullanılabilir.

Parametre metinleri köşeli parantez içerisinde yazılır. Parametre metni kullanıldığında sorguyu her çalıştırdığımızda bu metni içeren parametre giriş penceresi gelir. Bu pencerede her seferinde farklı bir değer girmek suretiyle sorguyu daha genel kullanabiliriz.

Sorguda Ölçüt yazarken kullanılabilecek bazı ifadeler

Sorguda herhangi bir alan için yazılan ölçüt ifadesi o alandaki bilgiye tamamen eşit olduğu taktirde sorgu çalışırken o kaydın görünmesini sağlar. Yani sorguda kullanılan alan adı ile ölçüt arasındaki karşılaştırma operatörü eşittir (=) işaretidir.

Bunun dışında sorgu ölçütünde şu işaretler de kullanılabilir :

 Ölçüt OperatörüAçıklaması 
 > büyüktür Ölçüt yazılan alan türü;

  Sayı ise, belirtilen sayıdan büyük olan sayıların,

  Metin ise belirtilen harf veya harflerden sonra gelen metinlerin,

  Tarih ise belirtilen tarihten sonra gelen tarihlerin bulunduğu kayıtları getirir.

 < küçüktür Ölçüt yazılan alan türü;

  Sayı ise, belirtilen sayıdan küçük olan sayıların,

  Metin ise belirtilen harf veya harflerden önce gelen metinlerin,

  Tarih ise belirtilen tarihten önce gelen tarihlerin bulunduğu kayıtları getirir.

 <= küçük eşitYukarıda belirtildiği gibi sayı, metin veya tarih türü alanlarda belirtilen ifadeden küçük veya eşit olan kayıtları getirir. 
 >= büyük eşitYukarıda belirtildiği gibi sayı, metin veya tarih türü alanlarda belirtilen ifadeden büyük veya eşit olan kayıtları getirir. 
 Between (Arasında)Sayı, metin veya tarih türü alanlarda belirtilen iki değer arasındaki değeri taşıyan kayıtları getirir. 
 Like (İle Başlar) Ölçüt yazılan alanın veri türü metin ise, belirtilen harf veya harflerle başlayan kayıtları getirir.

Örnek Sorgu Ölçütleri:

Örnek   Açıklaması
 OKUL NO alanı için

> 1000

 Okul numarası 1000 den büyük olan kayıtları getirir.
 HİZMET SÜRESİ alanı için

>=10 and <=20

 Hizmet süresi 10 a eşit veya büyük ve 20 ye eşit veya küçük olan kayıtları getirir.
 ADI alanı için

>= M

 Adı M harfine eşit ve büyük olan kayıtları getirir. Yani adı M harfi ve sonraki harfler ile başlayan kayıtları getirir.
 ADI alanı içen
Like ?M*?

 Bir önceki örnek ile aynı anlamı taşır.
 OKUL NO alanı içen

Between 1000 and 2000

 Okul numarası 1000 ile 2000 arasında olan kayıtları getirir.
 DOĞUM TARİHİ alanı için

Between #01/01/1980# and #01/01/193#

 Doğum tarihi 01/01/11980 ile 01/01/1983 tarihleri arasında olan kayıtları getirir.
 SOYADI alanı için

Between ?A? and ?E?

 Soyadı A harfi ile E harfi arasında başlayan kayıtları getirir.

İlişkili Tablolar İle Sorgu hazırlama

Veritabanında birbiriyle ilişkili birden fazla tabloyu kullanarak sorgu hazırlamak için sorgu tasarımına girildiğinde bu tablolar sorgu ekranına eklenmelidir. Tablolar sorgu ekranına getirildiğinde aralarındaki ilişkiler de burada görülebilir.  

Birbiriyle ilişkili tablolardan ayrı ayrı alanları alıp sorguya eklemek mümkündür. Yukarıdaki ekranda yer alan sorguda Branşlar tablosunun Branş Kodu alanı ile Öğretmenler tablosunun Branş Kodu alanı ilişkili olduğu için Branşlar tablosundaki Branş Adı alanı sorguya ekleniyor. Aynı şekilde Okullar tablosundaki Okul Kodu ile Öğretmenler tablosundaki Okul Kodu alanı ilişkili olduğu için Okullar tablosundan İlçe Adı ve Okul Adı alanları sorguya eklenebiliyor.

Bu ilişkilerle ilgili olarak şu cümle söylenebilir : Öğretmenler tablosunun Branş Kodu, Branşlar tablosundaki branş koduna eşit ise Branşlar tablosundaki Branş Adı alanını getir. Yine; Öğretmenler tablosundaki Okul Kodu, Okullar tablosundaki Okul Koduna eşit ise Okullar tablosundaki İlçe Adı ve Okul Adı alanlarını getir.

Yorum ekle

Güvenlik kodu
Yenile