Bölüm 2.1: Form Üzerinden İki Tarih Arasında Filtreleme
#1
access-sql-12 
Merhaba arkadaşlar..

Bu bölümde tablomuzdaki verileri tarih alanını kullanarak iki farklı tarih arasında filtrelemeyi göreceğiz..

Bir önceki konuda kullandığımız üst-alt form örneğini burada da kullanacağız.. Üst formumuza iki ayrı metin kutusu yerleştirelim.. Üsttekinin adı txtilktarih alttakinin de txtsontarih olsun..

[Resim: between1.jpg]

Şimdi biz istiyoruz ki alt formumuzda tablodaki(veya sorgumuzdaki) verilerimiz bu kutulara yazdığımız tarihler arasında olanları listelesin..

Alt formumuzun Özellikler / Veri / Kayıt Kaynağı kısmına gidiyoruz ve sağdaki üç noktalı düğmeye tıklıyoruz..

[Resim: between2.jpg]

Sorgu penceresi açılacaktır.. İstediğimiz kayıt kaynağını ve görüntülenmesini istediğimiz alanları ızgaraya yerleştiriyoruz..

Şimdi kriteri uygulayacağımız alanın ölçüt satırına gidelim ve ters tıklayalım..

[Resim: between3.jpg]

Oluştur'u tıklayınca karşımıza ifade oluşturucusu gelecektir.. Soldaki navigasyondan işleçleri siçip oradan Between ifadesine çift tıklayalım (alışınca direkt yazarsınız).

Üst ekrana yapı oturdu.. Şimdi deyim kısımlarında bizim formdaki metin kutularını tanımlamamız gerekiyor..:

[Resim: between4.jpg]

Yine soldaki navigasyonu (ifade öğeleri) kısmını kullanarak formumuzu ortadaki bölümden de metin kutularımızı << deyim >> yazan yerlere yerleştiriyoruz..

İfade oluşturucusuyla işimiz bitti.. Tamam dediğimizde kriter bölümünde ifademiz hazır haldedir..:

SQL
  1. BETWEEN [Formlar]![FormA]![txtilktarih] AND [Formlar]![FormA]![txtsontarih]



[Resim: between5.jpg]

Not: İngilizce sürümlerde [Formlar] ifadesi [Forms] olarak kullanılmalıdır..

Access konusunda tecrübeniz arttıkça ifade oluşturucusu kullanmayacağınıza emin olabilirsiniz.. Dd

Evet sorgu ile işimiz bitti.. Kapatırken çıkan uyarı mesajına evet deyiniz..

Şimdi metin kutularımıza gidelim.. İkisinin de Özellikler / Olay / Güncelleştirme Sonrasında kısmına imleci yerleştip sağda çıkan düğmeye tıklayalım.. Ekrana gelen seçeneklerden Kod Oluşturucusunu seçelim.. İmlecin oturduğu satıra bu komutu yazalım..:

Visual Basic
  1. 'personelaltform alt formunuzun adıdır..
  2. Me.personelaltform.Requery




Kutulara değer girdikten ve enter tuşuna bastıktan sonra alt formumuzun bu kriterlere göre verileri yeniden düzenlemesi için bu komut önemli.. Bu işlemi iki kutu içinde yapıyoruz, unutmayalım.. İsterseniz bu komutu formunuza yerleştireceğiniz bir düğmeye de uygulayabilirsiniz..

Şimdi test edebiliriz.. Kutulara tarih girerken mevcut biçimi kullanmayı unutmayın.. Hatta kutuların Özellikler / Biçim / Biçim bölümünden sorgulayacağınız alanın biçime uygun olanı seçin.. Access sürümünüz 2007 ve üzeri ise tarih seçimini popup bir denetimden yapmanız için Tarih Seçiciyi Göster seçeneğini Tarihler için olarak ayarlayın..

[Resim: between6.jpg]

Bu sayede kutuya odaklandığınızda sağda bir takvim simgesi belirecektir.. Tıkladığınızda seçimi buradan yapabilirsiniz..

[Resim: between7.jpg]


Şimdi soru şu..:

Alıntı: Bu şekilde olunca form ilk açıldığında alt form (liste de olabilir) boş geliyor.. Dolu gelmesi için illaki kutulara tarih girmemiz gerekiyor.. Açılışta tüm veriler gelse ve sadece biz seçim yapınca listelense olmaz mı?

Cevap..: Olur.. Dd

Bunun için kriterde kullandığımız ifadeyi geliştirmemiz gerek.. İfade de şunu demeliyiz..:

Eğer kutunun biri veya her ikisi boşsa bana tüm verileri göster. Yok eğer doluysa kutudaki verilere göre krteri uygula..:

Access dilinde tercümesi..:

SQL
  1. BETWEEN
  2. Nz([Formlar]![FormA]![txtilktarih];[DogumTarihi])
  3. AND
  4. Nz([Formlar]![FormA]![txtsontarih];[DogumTarihi])



Burada dikkat ettiyseniz Nz Fonksiyonu kullandım.. Bu fonksiyon uygulandığı denetim veya alan null değer içerdiğinde yerine koyacağımız değeri belirlememizi sağlar.. Ben metin kutusunun boş olma durumunda kritere alanın kendisini yerleştirdim.. Böylece alandaki tüm veriler kritere yerleşti.. Etkili bir çözüm.. Wink

Atlamayalım; buradaki [DogumTarihi], kriteri uyguladığımız alanın adı olmalı.

Sanırım bu konu için yeterli bir bilgi vermiş olduk.. Anlatımda kullandığım örnek ektedir.. Aklınıza takılan kısımları gerekirse detaylandırabilirim..

Taruz..


Eklenti Dosyaları
.rar   Fitreleme2-1.rar (Boyut: 20,08 KB / İndirilme: 849)



  Alıntı
Bu mesajı beğenenler:
#2
Hocam yine harika bir örnek, emeğinize çok teşekkür ederim. Şüphesiz bu konu bir çok kişi için yararlı olacaktır. Eğitimleriniz ve örnekleriniz bizler için başucu kaynağı niteliğindedir. İyi ki varsınız.



  Alıntı
Bu mesajı beğenenler:
#3
mükemmel anlatım her zaman ki gibi
ne diyeyim herkes bir şey bilir ama herkes öğretemez..
allah sizden razı olsun...



  Alıntı
Bu mesajı beğenenler:
#4
Teşekkürler arkadaşlar.. Vv



  Alıntı
Bu mesajı beğenenler:
#5
Emek ve paylaşım için teşekkürler...



  Alıntı
Bu mesajı beğenenler:
#6
ArkadaşLar formdan alınan bilgilerlerler yaranmış bir sorqudan kesişey sorgu yaratmaq mümkün diyiL. Yardımcı oLurmusunuz?



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
access-sql-12 Bölüm 9.1: Dinamik Arama Ve Aranan Kelimeyi Renklendirme Taruz 37 25.713 10-11-2025, 02:29
Son Mesaj: dsezgin
  Cari Hesap Ekstresi Filtreleme Için Yardımcı Olurmusunuz? cost27 2 676 26-10-2021, 13:47
Son Mesaj: cost27
access-sql-7 Bölüm 7: Liste Kutusundaki Verileri Dinamik ve Hızlı Bir Şekilde Filtreleme Taruz 81 56.596 07-03-2021, 00:08
Son Mesaj: kamil_55
access-sql-14 Bölüm 6: Liste Kutusundaki Verileri Dinamik Filtreleme Taruz 11 16.582 22-11-2020, 01:28
Son Mesaj: dsezgin
access-sql-11 Bölüm 3.1: Uzun Metinler İçinde Birden Fazla Kriterle Arama Yapma Taruz 23 18.004 11-12-2019, 01:13
Son Mesaj: dsezgin
access-sql-6 Bölüm 3: Tek veya İki Kriterle Birlikte Filtreleme Taruz 37 32.634 19-07-2019, 09:49
Son Mesaj: halil.tefci
access-sql-6 Bölüm 1: Form Üzerinden Filtreleme Taruz 33 39.598 26-03-2019, 16:12
Son Mesaj: celalll
access-sql-7 Bölüm 8: Kayıtları Alana Göre Seçerek Dinamik ve Hızlı Bir Şekilde Filtreleme Taruz 77 50.523 14-01-2019, 13:08
Son Mesaj: mmert06

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar):