09-11-2025, 16:30
Merhaba "Adı" bölümünde arama yaparken "Soyad" sütununda da arama yapabilir miyiz? Yani aynı anda iki sütunda arama yaptırabilir miyiz?'
(12-03-2012, 17:34)Taruz demiş ki: Merhaba arkadaşlar..
Bu konumuzda gelişmiş ve de farklı özellikler barındıran bir filtreleme yöntemini göstereceğim..
Amacımız, alt formdaki bir alanı anahtar kelimemizi yazarken (dinamik) filtrelemek ve anahtar kelimemizi alan içinde kırmızı renkle belirginleştirmek..
Hemen bu işlemi nasıl yapacağımıza geçelim..
İlk şart; uygulamamızın 2007 ve üzeri bir biçimde olması yani .accdb uzantısına sahip olması gerekiyor..
Arama yapacağımız alanın Veri Türünü tablomuzu tasarım görünümünde açıp Not yapalım..:
Şimdi formumuzu hazırlayalım..
Ana formumuz üzerine iki tane metin kutusu yerleştirelim.. Birinin adı arama diğerinin ki ise arama1 olsun.. arama adlı metin kutumuzun Özellikler / Biçim / Görünür kısmını Hayır yapalım..
Sonra da tablomuzdan bir form yapıp ana fomumuza alt form olarak ekleyelim..:
Aramayı yapacağımız alanın ilişkilendirildiği metin kutusunun adını renkligoster yapalım ve sonrasında Özellikler / Veri / Metin Biçimi kısmını Zengin Metin olarak değiştirelim..:
Şimdi arama1 adındaki arama kriterini yazacağımız metin kutusun Özellikler / Olay / Değiştiğinde bölümüne gidelim ve Olay Yordamını seçip açılan kod penceresine bu prosedürü yazalım..:
Visual Basic
Dim Bul As String Bul = arama1.Text arama.Value = Bul TrzRenkliArama
Hemen altında boş bir yere de hem filtrelemeyi hem de renklendirmeyi yapacak bu prosedürü yerleştirelim..:
Visual Basic
Sub TrzRenkliArama() Dim alan As String Dim kelime As String Dim textkaynak As String Const yildiz = "*" If altform.Form.Dirty Then altform.Form.Dirty = False If IsNull(Me.arama) Then 'Me.arama arama kutusun adıdır.. If altform.Form.FilterOn Then 'altform , alt formunuzun adıdır.. altform.Form.FilterOn = False End If altform.Form.renkligoster.Visible = 0 Else alan = "[Adi]" 'aramanın yapılacağı alan adı ile değiştirilecek kelime = Me.arama altform.Form.Filter = alan & " Like """ & yildiz & kelime & yildiz & """" altform.Form.FilterOn = True textkaynak = "=IIf(" & alan & " Is Null, Null, " & _ "Replace(" & alan & ", """ & kelime & """, """ & _ "<b><font color=""""red"""">" & kelime & "</font></b>" & """))" altform.Form.renkligoster.ControlSource = textkaynak End If End Sub
İşlem tamamdır.. Karışık gibi görünebilir ama adım adım giderseniz ilk resimdeki gibi sonuç elde edeceksiniz..
Anlatımda kullandığım dosya ektedir..
Accessiniz bol olsun..

![[Resim: fitre10a.jpg]](http://www.access-sql.com/resim/fitre10a.jpg)
![[Resim: fitre10b.jpg]](http://www.access-sql.com/resim/fitre10b.jpg)
![[Resim: fitre10c.jpg]](http://www.access-sql.com/resim/fitre10c.jpg)
![[Resim: fitre10d.jpg]](http://www.access-sql.com/resim/fitre10d.jpg)

