DOKUMANISTAN

Access Seç Sorgu Türü Örnekleri #10

Access Uygulamasında birçok tablo oluşturulur. Raporlamak için ise Seçme sorgu türü veriler gösterilir. Bu bölümde seçme sorgularının kullanımı ile ilgili örnekler göreceksiniz. Sorgu örnekleri için TABLOMUSTERI tablosuna bir dizi veri girdim. Aşağıdaki uygulama dosyasından sizde bu tabloyu kopyalaya bilirsiniz.

Sorguda Seç

Örnek Tablo

Örnek – Yaşı 40’den Büyük olan Müşterilerin Listesi

Seçme Sorgusunu bir örnek ile anlatmaya çalışalım. Örneğin Müşterinin yaşı 40’dan büyük Müşteriler listesinin sorgusunu oluşturalım. Öncelikle Sorguda görüntülenecek alanları belirtelim.

Sorgu Örneği Tablosu

 

Sorgu Örneği 2

İsim vermemizi isteyecektir.

Sorgu İsmini Ver

Düzenli isim mantığından yola çıkarak SORGU_40_YASINDAN_BUYUK_MUSTERILER şeklinde kaydediyoruz.

Sorgudaki Tablonun Görünümü

Sol kısımda Sorgular Başlığı altında sorgumuzu kaydetmiş olduk. Sorguyu bu hali çalıştırdığımda bütün kayıtları gösterecektir. Çünkü hala herhangi bir kriter belirlemedik.

Sorgu Sonucu

Sorgunun başlığına Sağa tıklayıp Tasarım görünümüne tekrar geçiyoruz.

Sorgu Tasarım Görünümü

Amacımız sorguda yaşı 40’dan büyük Müşterileri listelemekti. Excel gibi düşünürsek filtreleme işlemi yapacağız. Yaş alanına gelip Ölçüt alanı ile kesiştiği alana geliyoruz. >40 yazıyoruz. Yani (40 yaş hariç) 40 yaşından büyük olan Müşterilerin listesini istemiş olduk.

 

Sorgu Ölçütü

Sorgu kriterini yazdıktan sonra Tasarım Sekmesindeki Çalıştır’a basıyoruz.

Böylece 40 yaşından büyük olan öğrencilerin listesini belirlemiş olduk.

Sorgu Sonucu Filtrelenmiş

Örneğin bu sorguda Adres alanı görünmesin istiyoruz. Bunun için Tasarım Görünümünü açıyoruz. Adres alanında Göster hizasındaki seçili işareti kaldırıyoruz.

Sorgu Görünür Yapma

Sorguyu tekrar çalıştırdığımızda Adres alanı artık bu çıkan listede görünmeyecektir.

Sorgu Tekrar Çalıştırma

Kaydedip çıktığınızda ise Göster alanı seçili olmayanlar bir sonraki Tasarım Sekmesinde açtığınızda kalktığını göreceksiniz.

Örnek – Yaşı 40’den Büyük ve Sadık Müşteri olan Müşterileri getiren Sorgu

TABLO_MUSTERIKARTI tablosunu incelediğimizde Sadık Müşteri mi? alanında bazı Müşteriler için Sadık Müşteri olarak seçilmiş, bazı müşteri ise seçili durumdadır.

Tablo İkinci Sorgu

Bu sorgumuzda 40 yaşından büyük ve Sadık Müşteri olan kişileri listeleyeceğiz. Önceki sorgumuza ilaveten Sadık Müşteri alanını da ekliyoruz. Ölçüt Alanına  = Doğru yazıyoruz.  Bu alana isterseniz =True veya =1’de diyebilirsiniz. Hepsi aynı şeyi ifade etmektedir. Zaten siz ne yazarsanız yazın Access =Doğru olarak otomatik çevirecektir. Aşağıdaki birbirleri için aynı ifade olan Yanlış Doğru değerlerini belirttim. Hangisi kolayınıza giderse onu yazabilirsiniz.

=DOĞRU =YANLIŞ
=TRUE =FALSE
=1 =0

Sorgu Üçüncü Kriter

Sorguyu Çalıştır dediğimizde önce SORGU_40_YASINDAN_BUYUK_SADIK_MUSTERILER olarak kaydedip istenilen kriterdeki müşterileri görebiliriz.

Üçüncü Sorgu Sonucu

40 yaşından Büyük ve Sadık Müşterilerin listelendiğini göreceğiz.

AND ve OR Operatörler Örnekleri

Örnek – OR Operatörü – 40 Yaş ve Sadık Müşteri Listesi

Önceki yaptığımız iki sorgu da dikkat ederseniz Ölçüt hizasında.

Dördüncü Sorgu Sonucu

Hem 40 yaşından büyük öğrenciler görüntülensin hem de Sadık Müşteri olan Müşterilerin listesi şeklindeydi. Bu durumda iki sorguya da uyan işlemleri listeliyor. Yani 40 yaşından büyük olsa bile seçmeli ders almıyorsa listelenmeyecekti.

Şimdiki Örneğimizi ise 40 yaşından büyük müşterileri listelensin, bunun yanında Sadık Müşteri olan müşterilerinde listelensin istiyoruz. Bu listede

  • 40 yaşından büyük tüm Müşteriler gelecek (başka kritere bakmaksızın)
  • Sadık Müşteri olan Tüm Müşteriler de gelecek (Yaşa bakmaksızın)

Her iki kriterinde tamamının gelme imkânı olmaz. Excel’de filtreleme işleminde hatırlayın.

Böyle bir listeleme için sorgulardan bir tanesini VEYA (ingilizce OR) alanına taşıyacağız.

Dördüncü Sorgu Sonucu

Gördüğünüz gibi artık aynı hizada değil. Bu şekliyle OR kavramını yapmış olduk. Yukardaki kriteri tekrar gözden geçirdiğimizde

  • 40 yaşından büyük tüm Müşteriler gelecek

veya

  • Sadık Müşteri olan Tüm Müşteriler de gelecek

Verileri incelediğimizde

21 Yaşındaki Mustafa TANER’de gelmiş oldu. Sadık Müşteri olmayan Doğa KAYNAK’da gelmiş oldu.

Beşinci Sorgu Örneği

OR Türkçe ifade ile VEYA ifadesi mantığı belirttiğimiz gibi sorgulanan farklı kriterler kendi başlarına filtreler birbirinden bağımsızdır.

 

Örnek – OR Operatörü – Müşterinin Adı Ahmet veya Mehmet İse Listele

İki türlü de yazabilirdik.

1. Yöntem

Ölçüt alanına =”Ahmet” Or “Mehmet”  şeklinde yazabiliriz

Or Operatorü Sorgu

2. Yöntem

Ad alanını iki defa sorgu kısmına ekleriz. Göster alanını birini seçmemiz yeterli

Ölçüt kısmına =”Ahmet” listelenmeyecek Ad alanının Veya kısmına da =”Mehmet” yazarız.

Or Operatörü Alternatif Okul

Sonuç her iki yöntemle de aşağıdaki şekilde görülecektir.

Sorgu Sonucu

Dikkat ettiyseniz Ölçüt ile Veya alanına aynı hiza da yazmamakla da OR mantığını kullanmış olduk.

Daha fazla operatöre de Ölçüt Alanına gelip Sağ tuş yaptıktan sonra Oluştur dediğimizde

İfade Oluşturucusu

Aşağıdaki şekilde İfade Oluşturucusu ekranı gelecektir. Daha önce bu ekranı kullanmıştık.

İfade Oluşturucusu

Bu örnekleri çoğaltabiliriz.  Seçme işlemleri diğer bir ifade ile filtreleme işlemlerini ve AND OR işlemlerini belirtiğim örneklerler gibi yöntemlerle yapabiliyoruz.

Örnek – And Operatörü – Yaşı 30 ile 40 arasında olan Müşteriler

Bu örneği Ölçüt alanı >=30 And <=40 şeklinde yazarak iki sayı arasını listeleyebiliriz.

And Operatörü Ölçütü

Yaş kısmı görüldüğü üzere belirlediğimiz kriterleri üzerinde listeleme yapıldı. 30 ve 40 arasındaki kayıtlar gelmiş oldu.

And Operatörü Sonucu

Sorguda Olumsuz Koşul Kullanma (NOT Operatörü)

Belirlediğiniz koşul ile istemediğiniz alanı NOT operatörü ile sorguladığınızda o kayıt sorguda çıkmayacaktır.

Sorgu Not Operatörü

Örneğimizde Müşteri Kartı tablosunda adı Ahmet olanları listelememek (Listeden Kaldırmak) için Ad alanına Not “Ahmet” yazıyoruz.

Not Operatörü Ölçüt

Sorguda görüldüğü gibi ilk kayıt adı Ahmet olduğu için sorguda görüntülenmemiş oldu.

Sorgu Not Operatörü Sonucu

Çeşitli Sorgu Örnekleri

Ölçüt Satırına aşağıdaki örnekleri yazarak siz de deneyebilirsiniz.

LEN([SOYADI])>VAL(5)
Soyadı alanı 5 karakterden uzun olan kayıtları listeler
LEN([SOYADI])<VAL(5)
Soyadı alanı 5 karakterden kısa olan kayıtları listeler
LEN([SOYADI])=VAL(5)
Soyadı 5 Karakter olan kayıtları listeler
LEN([SOYADI])>=VAL(5)
Soyadı en az 8 karakter olanları listeler (8 karakter de dahil)
LEN([SOYADI])<=VAL(8)
Soyadı en fazla 8 karakter olanlar (8 karakter dahil)
ISNULL
Boş bırakılanlar. Sorgulanan alanda boş hiçbir değer girilmemişse listeleyecektir.
IS NOT NULL
Boş olmayan alanları listeler. Eğer veri girilen alanları listelemek isterseniz bu özelliği kullanın
RIGHT([SOYADI];6)=”SEYMEN”
Soyadı alanında son 6 harfi seymen olan kayıtları listeler
LEFT([SOYADI]);4)=”KARA”
Soyadı alanında ilk 4 harfi KARA olarak biten kayıtlar

Sorgularda Alanların Sıralanması

Yukarıda anlattığım örneklerde belirlenen kriterlere göre istediğimiz verileri getirebiliriz. Bir taraftan veri listelerken aynı zamanda istediğimiz kolona göre sıralama işlemi de yapabiliriz.

Sorgu Sıralaması

Sorguyu çalıştırdığımızda aşağıdaki şekilde tarih alanına göre sıralı şekilde gelecektir.

Sorgu Sıralama Sonucu

Verdiğim örneklerle umarım bu kısmın mantığını anlatabilmiştir.

 

 

Access Dosya Download Makalede kullandığımız Access Dosyasını buradan indirebilirsiniz.

Eğitime Access Tablo Yapma Sorgusu #11 makaleden devam edin.

Yorum yapın