Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Access Dersanesi (http://www.excel.web.tr/forumdisplay.php?f=171)
-   -   Form Üzerinden Filtreleme Yöntemleri (http://www.excel.web.tr/showthread.php?t=64444)

Taruz 18-02-2009 23:21

Form Üzerinden Filtreleme Yöntemleri
 
1 Eklenti(ler)
Form Üzerinden Filtreleme


Merhaba..

Bu konu altında, form üzerinden verileri filtreleme ile ilgili bilgiler vermeye çalışacağım..

İlk örneğimizde bir üst forma bağlı, verilerin listelendiği bir alt formdan nasıl verileri filtreleyebileceğimizi görelim..

Alt formun kayıt kaynağı bir sorgudan olmalı.. Üst formumuzun ismi FormA olsun..

Bu çalışma için hazırladığımız örnek üzerinde ilk olarak Departmanları sorgulayalım..

Üst forma bir açılan kutu koyup ilgili tablodan departmanları listeleyelim..

Sonrada alt formun kayıt kaynağını açıp departmanno alanının ölçüt kısmını ters tıklayalım..

http://img530.imageshack.us/img530/3523/depstltqz8.png

Oluştur kısmını tıklayıp yönergelerden üst formdaki açılan kutuyu ölçüte yazılmasını sağlayalım.. Direkt ellede yazabiliriz..:

Kod:

[Forms]![FormA]![Açılan Kutu2]
Bu verilen ölçütle artık alt formumuz üst formdaki departmanların listelendiği açılan kutuya bağımlı olarak veri listeleyecek..

Şimdide rötuşları atalım..:

Açılan kutunun Özellikler / Olay / Günceleşme Sonrasında olay yordamınada
Kod:

Me.personel_alt_formu.Requery
yazalım ki kutudan yaptığımız tercihe göre alt form yeniden sorgulansın..

Bir sonraki konuda iki ayrı kritere göre filtreleme yapacağız..

NOT: Bu konu hakkındaki tüm sorularınızı, sorunlarınızı ACCESS SORULARI forumunda ayrı bir konu açarak paylaşabilirsiniz..

Taruz 18-02-2009 23:23

İki Ayrı Kritere Göre Filtreleme
 
1 Eklenti(ler)
İki Ayrı Kritere Göre Filtreleme

İlk örneğimizde departmanlara göre filtreleme yapmıştık.. Şimdi seçilen ille göre departmanları filtreleyelim..

Üst forma illerin listelendiği bir açılan kutu daha koyalım.. Kaynağı iller tablosundan olsun ve iki sütundan oluşsun.. İlk sütunda benzersiz alan olan ilno alanı olsun..

Şimdi alt forma bağlı sorguya gelelim ve ilkinde olduğu gibi ilno alanının ölçütüne yeni kutumuzu tanıtalım..

http://img363.imageshack.us/img363/6874/iljo9.png

En sonda kutunun güncelleştirme sonrasında ya gelip yine alt formu yeden sorgulayan kodu yazalım..:




Kod:


Me.personel_alt_formu.Requery

Hazırladığımız bu düzenek, örneğin İstanbul'daki İNSAN KAYNAKLARI departmanında çalışanları listemek istediğimizde sonuç verir.. Sadece İstanbul'da çalışanları yada sadece İNSAN KAYNAKLARI nda çalışanları görmek istediğimizde işe yaramadığını listenin boş geldiğini göreceksiniz..

Hem çoklu hem de tek kritere göre süzme yapayım isterseniz, bir sonraki konuya bir göz atın..


NOT: Bu konu hakkındaki tüm sorularınızı, sorunlarınızı ACCESS SORULARI forumunda ayrı bir konu açarak paylaşabilirsiniz..

Taruz 18-02-2009 23:25

Tek veya İki Kriterle Birlikte Filtreleme
 
1 Eklenti(ler)
Tek veya İki Kriterle Birlikte Filtreleme




Şimdi de yukarıda işlediğimiz filtrelemeyi daha da geliştirelim..

Bahsettiğim gibi o türde, yani iki ve daha falza kriterli filtrelemede her ölçütte bir değişkenin hazır bulunması gerekiyor.. Biri boş olsa düzenek çalışmaz..

Şimdi örneğimizi, istediğimizi boş, istediğimizi dolu tutabileceğimiz şekle getirelim..

Alt formun kaynağı olan sorguyu açalım ve departmanno alanının ölçütüne denk gelen eskiyi silelim.. Şimdi yenisini yazalım..

Ölçüte koşulumuzu koyalım, diyelim ki;

Eğer formA daki açılan kutu2 boşsa ; tüm kayıtları göster ; boş değilse açılan kutu2 ye uyan kayıtları göster..

Bu cümleyi sorgunun anlayabileceği şekle çevirirsek..:




Kod:


IIf(IsNull([Forms]![FormA]![Açılan Kutu2]);[personel].[departmanno];[Forms]![FormA]![Açılan Kutu2])

Aynı şekilde il alanının ölçütünüde düzeltip servise verelim.. http://www.accessforumlari.com/image...es/gozkirp.gif

Form üzerinde listelenmiş verileri filtreleme ile ilgili örnekler için şimdilik bunlar yeterli olur sanırım.. Bu örneklerde alt formun haricinde liste kutusuda kullanabiliriz.. Yöntemler aynı..

Bir sonraki konumuzda da açılan kutudan seçtiğimiz kritere göre form açmayı işleriz..



NOT: Bu konu hakkındaki tüm sorularınızı, sorunlarınızı ACCESS SORULARI forumunda ayrı bir konu açarak paylaşabilirsiniz..

Taruz 18-02-2009 23:31

Kritere Göre Form yada Rapor Açma
 
1 Eklenti(ler)
Kritere Göre Form yada Rapor Açma


Merhaba..

Bu seferde başka bir form üzerinden (FormB ) seçeceğimiz kritere göre form (FormC ) veya rapor (Rapor1 ) açalım..

Önce kriteri belirleyeceğimiz formu hazırlayalım (FormC ) Kriterimiz Adı alanı olsun.. Açılan kutuyu sihirbaz yardımı ile forma yerleştirdikten sonra kutunun kaynağı sorguya girelim.. Tabloda Ad ve Soyad alanı ayrı ama biz açılan kutuda birleşik gösterelim..

Adı alanın yerine
Kod:


[Ad] & " " & [Soyad]



yazalım..


http://img367.imageshack.us/img367/1...8151744vn3.png



Formumuzda bu şekilde görünecek..:








Şimdi basitçe, buradan seçtiğimiz bir kişinin bilgilerini görebileceğimiz raporu veya formu bu defa kod yardımı ile açalım..



Bu rapor için..:




Kod:


DoCmd.OpenReport "Rapor1", acViewPreview, "", "[Personel]![PersonelNo]=[Forms]![FormB]![Açılan Kutu0]", acNormal


Bu da form için..:



Kod:


DoCmd.OpenForm "FormC", , , "[Personel]![PersonelNo]=[Forms]![FormB]![Açılan Kutu0]"


Bu kodları istediğiniz bir olaya bağlayabilirsiniz.. Düğme şart değil..



NOT: Bu konu hakkındaki tüm sorularınızı, sorunlarınızı ACCESS SORULARI forumunda ayrı bir konu açarak paylaşabilirsiniz..

Taruz 18-02-2009 23:34

Listedeki Verileri Filtreleme ve Rapora Aktarma
 
1 Eklenti(ler)
Listedeki Verileri Filtreleme ve Rapora Aktarma



Bu aşamada listede kutusunda listelediğimiz verilerimizi önce çeşitli kriterlere göre filtreleyip sonrsında rapor olarak açalım.. Sonrasında da seçtiğimiz tek bir kaydı açalım..

Üçüncü örnek dosyadaki (Filtreleme3) FormA ya benzer bir form oluşturuyoruz.. Alt formun yerinde bu defa liste kutusu var..:

http://img153.imageshack.us/img153/9...8171156dl4.png

Filtreleme yöntemi aynı sadece listeye kayıt kaynağının alt formla aynı olmasını sağlayın.. Sorgu içine gidip kaydedin.. Sonra listenin sütun sayını düzenleyin.. Açılan kutuların Güncelleştirme sonrasında olayına yazacağımız Requery komutunu unutmayın.. Ben ilaveten bir kriter daha ekledim..: Seçtiğimiz tarihten sonra işe girenler..

Raporu hazırlayın ve kaynağını listenin kaynağı olan sorguyla aynı yapın..

Komut düğmesine raporu açan komutu yazın..:


Kod:

DoCmd.OpenReport "Rapor2", acViewPreview

Listedeki bir kayda tıkladığımızda başka bir formda (raporda olabilir bu) ilgili kaydın açılması için kullandığımız kod yukarıdaki konuda işlediğimizle benzer ..:


Kod:

DoCmd.OpenForm "FormC", , , "[Personel]![PersonelNo]=[Forms]![FormA]![Liste8]"
Sadece şart kısmında listeyi kriter gösteriyoruz..


Bir sonraki aşamada daha ileri filtreleme tekniklerine geçeriz.. Şimdilik bu kadar..http://www.accessforumlari.com/image...es/gozkirp.gif




NOT: Bu konu hakkındaki tüm sorularınızı, sorunlarınızı ACCESS SORULARI forumunda ayrı bir konu açarak paylaşabilirsiniz..

ikizmaz 13-04-2009 10:15

arkadaşım dehşet bir başlık olmuş. allah ne muradın varsa versin. direkt olarak ihtiyacım olan konuyu yazmışsın...
varsa, konuyu değişik varyasyonlar üzerine genişletebilirsen çok sevinirim.
teşekkürler.

İsmail Küçükşengün 13-04-2009 19:34

Taruz hocam;

Bu başlığı görmemiştim.

Paylaşımına çok teşekkürler.

Selamlar.

memoli79 25-04-2009 02:45

Emeğinize sağlık Sn.Taruz

REFMAN 03-05-2009 21:51

Elinize sağlık

kemalates 22-05-2009 09:18

Teşekkürler örnekler çok güzel, fakat ilk örnekteki "alt formun kayıt kaynağını açıp" yapmış olduğun işlemi yapamıyorum, sorgu olmadan nasıl yaptığını anlayamadım, yardımcı olabilirsen sevinirim...


Saat 18:35

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.