Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
08/07/2016 14:09
Konu Sahibi
atoz112
Yorumlar
2
Okunma
1297
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
atoz112

atoz112

Onursal Üye
8839
 49
 9
 5.716
 04/08/2009
 İstanbul
 
 Ofis 2007
 09/12/2017,11:02
SORGULAR \ ETKİN SORGU TÜRLERİ – SEÇME Sorgusu (SELECT QUERY)

TANIMI

Bir formun / alt formun Kayıt Kaynağı’nda ya da bir Listbox denetiminin Denetim Kaynağı’nda veyahut da bir raporun Kayıt Kaynağı’nda göstermek sureti ile,bir tablo içerisindeki mevcut alanlardan istenilenlerin gerek direkt olduğu gibi veya gerekse de bazı kriterler (ölçütler) belirlenerek ya da fonksiyon / hesaplama işlem sonuçlarının da gösterilmesi için kullanılan bir sorgu türüdür.

OLUŞTURMA

Üst Menü’den EKLE sekmesi üzerine gelindiğinde,ister SORGU SİHİRBAZI ile isterse de SORGU TASARIMI seçeneklerinden herhangi birini seçmek sureti ile basit sorgu oluşturma işlemleri yerine getirilebilir.

Her iki seçeneğin ilk başlangıcında açılan pencere üzerinde yer alan TABLO/SORGU tercihlerinden bir ya da birkaçı (oluşturulmak istenen sorgu içeriğine göre değişir) seçilmek sureti ile ana temel unsur olarak gerekli olan alanların belirlenmesi için tablo veya sorgu seçimleri yapılır.

Sonrasında ise,yine tercihe göre;düz bir sorgu mu yoksa bazı kriterlere göre mi sorgu oluşturulacak bunun belirlenme aşamasına geçilir.

1)DÜZ SORGU
(Sorgu Tasarımı üzerinden)

KULLANIM KALIBI
SELECT alan_adi1,alan_adi2,alan_adi3,(eğer başka eklenmek istenirse aralara virgül işareti dahil etmek sureti ile devam edilir) FROM tablo_adi


ÖRNEK

Kod:
SELECT Tablo1.id ,Tablo1.isim, Tablo1.adres, Tablo1.tel, Tablo1.dogum_tarihi FROM Tablo1;



AÇIKLAMASI
Tablo 1 adlı tablo içerisindeki id,isim, adres, tel ve dogum_tarihi bilgilerini seç ve göster.


ÖRNEK

Kod:
SELECT Tablo1.isim, Tablo1.adres, Tablo1.tel, Tablo1.dogum_tarihi, Format(Date(),"yyyy")-Year([dogum_tarihi]) AS yasi FROM Tablo1;



AÇIKLAMASI
Tablo 1 adlı tablo içerisindeki id,isim, adres, tel,dogum_tarihi,günün tarihinin yılı değerinden dogum_tarihi alanının yılı değerini çıkarıp bu değerin alan tanımını yasi olarak belirle ve bu bilgilerin tümünü göster.


(Olay Yordamı üzerinden)
Bir formun ya bir alt formun veyahut da bir Listbox denetiminin olay yordamı üzerinden düz sorgu yazılmak istendiği takdirde,SQL kod satırının öncesinde bu satırın bir üst ve bir alt satırlarına

DoCmd.SetWarnings False
…(SQL kod ifadesi satırı)…
DoCmd.SetWarnings True

ifadelerinin yazılması gerekmektedir ki,SQL sorgusu çalıştırıldığında herhangi bir UYARI MESAJI vermesi engellenerek arka planda akabinde çalışmasını tamamlamasını sağlaması gerçekleşsin.

ÖRNEK
(ana form üzerindeki bir alt formun BOŞ bırakılmış olan KAYIT KAYNAĞI (Record Source) satırına yönelik olarak,ilgili ana formun YÜKLENDİĞİNDE olay yordamı içerisine yazılmak sureti ile)

Kod:
DoCmd.SetWarnings False
Me.Tablo1alt.Form.RecordSource = ""
Me.Tablo1alt.Form.RecordSource = "SELECT id,isim, adres, tel, dogum_tarihi FROM Tablo1"
DoCmd.SetWarnings True 



(TIRNAK İŞARETLERİ içerisinde yer alan aynı Sql sorgu ifadesi satırını,direkt olarak ilgili alt formun KAYIT KAYNAĞI satırına yazmak sureti ile de sonuç elde edilebilir.)
 
2)KRİTERLİ SORGU
(Sorgu Tasarımı üzerinden)

KULLANIM KALIBI
SELECT alan_adi1,alan_adi2,alan_adi3,(eğer başka eklenmek istenirse aralara virgül işareti dahil etmek sureti ile devam edilir) FROM tablo_adi WHERE (((kriterin_uygulanacagi_alan_adi))<kriter_degeri_veya_ifadesi));

ÖLÇÜT YA DA KRİTERLERDE KULLANILABİLECEK İFADELER

>  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şit
Yukarı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şit

Yukarı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.

Örneğin;
Between [Forms]![Form1]![ilktarih] And [Forms]![Form1]![sontarih]

Like (İle başlar)
Ölçüt yazılan alanın veri türü metin ise, belirtilen harf veya harflerle başlayan kayıtları getirir.

Örneğin;
Like "*" & [Forms]![Form1]![ad_soyad] & "*"
 
SORGUDA PARAMETRE METNİ KULLANIMI
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.

ÖNEMLİ NOT:
- Parametreli sorgulama yapılırken,parametre değeri olarak,mutlaka,bilgilerin yazıldığı şekli ile yazmak gerekiyor.Aksi takdirde,sorgulama sonucu olarak hiçbir kayıt gösterilemeyecektir.

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.

ALAN VERİ TÜRÜNE GÖRE KRİTER (ÖLÇÜT) YAZMA

a) Eğer alan veri türü METİN (String) olarak belirlenmiş ise,
Kriter satırında direkt bir ifade değeri veya bir form üzerindeki bir denetim adı yazılırken;
TEK TIRNAK (‘) içerisinde yazılması gerekmektedir.

ÖRNEK

Kod:
SELECT Tablo1.id,Tablo1.isim, Tablo1.adres, Tablo1.tel, Tablo1.dogum_tarihi, Tablo1.yasi
FROM Tablo1 WHERE (((Tablo1.adres)<>"istanbul"));



AÇIKLAMASI
Tablo 1 adlı tablo içerisindeki id,isim, adres, tel ve dogum_tarihi ve yasi bilgilerini seç ve adres alanında İstanbul ifadesine EŞİT OLMAYANLARI göster.

ÖRNEK

Kod:
SELECT Tablo1.id,Tablo1.isim, Tablo1.adres, Tablo1.tel, Tablo1.dogum_tarihi, Tablo1.yasi
FROM Tablo1 WHERE (((Tablo1.adres)=[Forms]![Form1]![adres_txt]));



AÇIKLAMASI
Tablo 1 adlı tablo içerisindeki isim, adres, tel ve dogum_tarihi ve yasi bilgilerini seç ve
Adres alanı Form1 adlı formun üzerindeki adres_txt adlı textbox denetiminde yazılı olan ifadeye EŞİT OLANLARI göster.
 
b) Eğer alan veri türü SAYI (Integer) olarak belirlenmiş ise,
Kriter satırında direkt bir ifade değeri veya bir form üzerindeki bir denetim adı yazılırken;
sayı değerini olduğu gibi yazmak yeterlidir.

ÖRNEK

Kod:
SELECT Tablo1.id,Tablo1.isim, Tablo1.adres, Tablo1.tel, Tablo1.dogum_tarihi, Tablo1.yasi
FROM Tablo1 WHERE (((Tablo1.yasi)<40));




AÇIKLAMASI
Tablo 1 adlı tablo içerisindeki isim, adres, tel ve dogum_tarihi ve yasi bilgilerini seç ve
yasi alanında 40 değerinden KÜÇÜK OLANLARI göster.

(Olay Yordamı üzerinden)

ÖRNEK
(ana form üzerindeki bir alt formun BOŞ bırakılmış olan KAYIT KAYNAĞI (Record Source) satırına yönelik olarak,ilgili alt formun YÜKLENDİĞİNDE olay yordamı içerisine yazılmak sureti ile)

Kod:
DoCmd.SetWarnings False
Me.RecordSource = "SELECT id,isim, adres, tel, dogum_tarihi, yasi FROM Tablo1 WHERE [adres]='" & [Forms]![Tablo1]![adres_txt] & "'"
DoCmd.SetWarnings True



ÖRNEK


Kod:
DoCmd.SetWarnings False
Me.RecordSource = "SELECT id,isim, adres, tel, dogum_tarihi, yasi FROM Tablo1 WHERE [adres]='istanbul’”
DoCmd.SetWarnings True


Verimli olması temennisi ile…İyi çalışmalar,saygılar.




ozanakkaya

ozanakkaya

Kurucu
1
Oz.... Ak....
 39
 482
 12.116
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 19/07/2019,20:59
Paylaşım ve anlatım için teşekkürler


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

...........
benremix

benremix

Onursal Üye
6766
Ra.... So....
 52
 127
 4.444
 17/05/2009
365
 Ankara
 Şirket Sahibi
 Ofis 2010 64 Bit
 13/07/2019,22:36
Emek ve paylaşım için teşekkürler.....


Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SİLME Sorgusu (DELETE SORGUSU) atoz112 2 2.672 09/07/2016, 06:16
Son Yorum: benremix
  GÜNCELLEME Sorgusu (UPDATE SORGUSU) atoz112 2 2.305 09/07/2016, 06:16
Son Yorum: benremix
  EKLEME Sorgusu (INSERT INTO QUERY) atoz112 2 2.136 09/07/2016, 06:14
Son Yorum: benremix
  Karar Yapıları 2 -İf..then ve case select mehmetdemiral 5 4.593 07/07/2010, 16:04
Son Yorum: altanturel

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.