sorgunuzu her alanı kontrol edip eğer sadece doluysa sorguya ekleyecek şekilde yeniden tanımlamanız gerekebilir.
farklı yöntemler de kullanılabilir belki ama ben aşağıdaki yöntemi kullandım
1 - ilk önce arama sayfasında yer alan tüm arama kutuları için VeriAra etiketi (Im/Tag olarak da geçer: nesne özelliklerinde diğer sekmesinde en altta) ekledim
2 - sonrada formdaki tüm arama kutularını tarayıp boş olmayanları aşağıdaki kodla sorguya ekleyip liste formunu bu kodla çağırdım
'hy___________________________________________________
Dim Ctl As Control
Dim txtSQLAlan, txtKriter, txtSql As String
txtSQLAlan = ""
txtKriter = ""
txtSql = ""
For Each Ctl In Me
If Ctl.Tag <> "VeriAra" Then GoTo 10
If Len(Nz(Ctl, "")) > 0 Then
If Ctl.Name = "Ara33" Then txtSQLAlan = "((Kira)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara34" Then txtSQLAlan = "((Kira)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara35" Then txtSQLAlan = "((EmlakFiyati)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara36" Then txtSQLAlan = "((EmlakFiyati)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara01" Then txtSQLAlan = "((EmlakTipi)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara04" Then txtSQLAlan = "((BinaYasi)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara05" Then txtSQLAlan = "((BinaYasi)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara06" Then txtSQLAlan = "((BrutM2)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara07" Then txtSQLAlan = "((BrutM2)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara08" Then txtSQLAlan = "((NetM2)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara09" Then txtSQLAlan = "((NetM2)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara10" Then txtSQLAlan = "((OdaSayisi)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara11" Then txtSQLAlan = "((OdaSayisi)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara12" Then txtSQLAlan = "((BanyoSayisi)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara13" Then txtSQLAlan = "((BanyoSayisi)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara14" Then txtSQLAlan = "((BalkonSayisi)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara15" Then txtSQLAlan = "((BalkonSayisi)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara16" Then txtSQLAlan = "((KatDurumu)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara17" Then txtSQLAlan = "((KatDurumu)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara18" Then txtSQLAlan = "((YakitTipi)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara19" Then txtSQLAlan = "((IsinmaSekli)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara20" Then txtSQLAlan = "((Asansor)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara22" Then txtSQLAlan = "((EsyaliEsyasiz)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara23" Then txtSQLAlan = "((KatMulkiyeti_Irtifaki)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara24" Then txtSQLAlan = "((KrediyeUygunluk)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara25" Then txtSQLAlan = "((TakasaUygunluk)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara26" Then txtSQLAlan = "((KullanimDurumu)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara27" Then txtSQLAlan = "((Depozito)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara28" Then txtSQLAlan = "((DepozitoMiktari)>=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara29" Then txtSQLAlan = "((DepozitoMiktari)<=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara30" Then txtSQLAlan = "((SiteIci)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara31" Then txtSQLAlan = "((S_Sehir)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara32" Then txtSQLAlan = "((Ilce)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara37" Then txtSQLAlan = "((IslemDurumu)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
If Ctl.Name = "Ara17" Then txtSQLAlan = "((KatDurumu)=[Formlar]![Frm_Emlak_Ara_Bul]![" & Ctl.Name & "]) "
txtKriter = IIf(Trim(txtKriter) = "", txtSQLAlan, txtKriter & " and " & txtSQLAlan)
End If
10
Next Ctl
txtSql = "SELECT * FROM Tbl_Emlak_Alici_Satici_Ilan_Kayit " & IIf(Trim(txtKriter) = "", ";", " WHERE (" & txtKriter & ");") 'kriter boş ise ; değilse....
DoCmd.OpenForm "Frm_Emlak_Ara_Bul_List", acNormal
Form_Frm_Emlak_Ara_Bul_List.RecordSource = txtSql
Im/Tag ekleme