Skip to main content

AccessTr.neT


SEÇME Sorgusu (SELECT QUERY)

atoz112
atoz112
2
3202

SEÇME Sorgusu (SELECT QUERY)

#1
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.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#2
Paylaşım ve anlatım için teşekkürler
Cevapla
#3
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


Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task