Skip to main content

AccessTr.neT


Formdan Form Sorgulama

M_Kemal_Askeri
M_Kemal_Askeri
11
1580

Formdan Form Sorgulama

#5
(06/03/2020, 18:08)M_Kemal_Askeri yazdı:
(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
'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
[Resim: do.php?img=9798]

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.
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...
NE MUTLU TÜRK'ÜM DİYENE
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 05/03/2020, 00:43
Cvp: Formdan Form Sorgulama - Yazar: ozanakkaya - 05/03/2020, 10:19
Cvp: Formdan Form Sorgulama - Yazar: berduş - 05/03/2020, 13:15
Cvp: Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 06/03/2020, 18:08
Cvp: Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 06/03/2020, 21:59
Cvp: Formdan Form Sorgulama - Yazar: berduş - 06/03/2020, 22:04
Cvp: Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 06/03/2020, 22:09
Cvp: Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 06/03/2020, 22:25
Cvp: Formdan Form Sorgulama - Yazar: berduş - 06/03/2020, 22:32
Cvp: Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 06/03/2020, 22:46
Cvp: Formdan Form Sorgulama - Yazar: M_Kemal_Askeri - 07/03/2020, 00:11
Cvp: Formdan Form Sorgulama - Yazar: berduş - 07/03/2020, 00:12
Task