(06/03/2020, 18:08)M_Kemal_Askeri yazdı:Sayın berduş ve Sayın ozanakkaya uygulamam üzerinde denemeleri yaptım. 1. Boş alanlara değer yazınca sorgulama yapıyor ve sonuç veriyor. 2. sayın berduş, verdiğiniz kodu uygulamada kullandım. "VeriAra" değişikliğini de her alan için yaptım ancak boş alanları değerlendirmedi ve sonuç vermedi. Sayın ozanakkaya'nın tavsiyesinde olduğu gibi boş alanlara değer yazınca sonuç aldım. İnternetten bir örnek buldum "Ve/Veya" seçenekli. Onu da denemek istiyorum. gerçi o örnekte bilgi seviyemi aşan hususlar var ama gene de deneyeceğim. Denemeyi müteakip o konuda da dönüş yapabilirim. çok teşekkür ederim...(05/03/2020, 13:15)berduş yazdı: 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
Im/Tag ekleme'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
Sayın berduş ve Sayın ozanakkaya destekleriniz için teşekkür ederim. İşlerimin yoğunluğundan denemeleri yapamadım ama bugün denemeleri yapıp dönüş yapacağım.
Sağlıcakla kalın.
NE MUTLU TÜRK'ÜM DİYENE