arama formunuz bütün alanların varlığını sorguladığından değer girmediğiniz alanlar için tabloda boş değere sahip kayıtları göstermeye çalışıyor olabilir
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
ÇokluArama_hy.rar
(Dosya Boyutu: 173,92 KB | İndirme Sayısı: 9)