Skip to main content

AccessTr.neT


Form Üzerinden Birden Fazla Rapordan Veri Süzme-filtreleme

Oğuz Türkyılmaz
Oğuz Türkyılmaz
18
3907

Form Üzerinden Birden Fazla Rapordan Veri Süzme-filtreleme

#13
(16/10/2018, 08:29)ozanakkaya yazdı: Set qdf2 = CurrentDb.QueryDefs("srg_raporverileri")

kodunu

Set qdf2 = CurrentDb.QueryDefs("SRG_PORTFOY")

kodu ile değiştir. srg_raporverileri sorgusunu sil, butonun tıklandığında olayına da, R_002_PORTFOY isimli raporun açılması için,

DoCmd.OpenReport "R_002_PORTFOY", acViewPreview, , , acWindowNormal

kodu ekle. Bu arada, komut butonları yerine seçenek grubu kullanırsan daha kolay yaparsın. Butonların tıklandığında olaylarındaki kod biraz karışık.

Select Case crc_emlaktipi
    
    Case 1
    
    GEmlakTipi = "KONUT"
    Case 2
    
    GEmlakTipi = "İŞYERİ"
    
    Case 3
    
    GEmlakTipi = "ARSA"
    
    End Select

Bu kod gibi yazacağımı anladım ama nasıl ve nereye bağlayacağımı çözemedim. İfadelerim yanlış olabilir umarım ne demek istediğimi doğru anlatabiliyorumdur. Kod yazanların jargonuna alışmak benim için biraz zaman alacak zamanla sanırım daha iyi ifade etmeyi başarabilirim.
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 16/10/2018, 14:02, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#14
Emlak tipi ile ilgili kısım


    Select Case crc_emlaktipi
    
    Case 1
    
    GEmlakTipi = "KONUT"
    Case 2
    
    GEmlakTipi = "İŞYERİ"
    
    Case 3
    
    GEmlakTipi = "ARSA"
    
    End Select


strWhere = strWhere & "([kategori] = """ & GEmlakTipi & """) AND "

Emlak türü için;

    Select Case crc_emlakturu
    
    Case 1
    
    GEmlakTuru = "KİRALIK"

    Case 2
    
    GEmlakTuru = "SATILIK"
    
    Case 3
    
    GEmlakTuru = "DEVREN KİRALIK"

    Case 4
    
    GEmlakTuru = "DEVREN SATILIK"
    
    End Select


strWhere = strWhere & "([tablodakialan] = """ & GEmlakTuru & """) AND "


koddaki crc_emlakturu, emlak türünün seçildiği seçenek grubunun adı, tablodakialan ise verilerin bulunduğu tablodaki alanın adı.

crc_emlakturu isimli seçenek grubunda satılık'ı seçerseniz GEmlakTuru değişkenine "SATILIK" değeri atanacaktır.
Cevapla
#15
(16/10/2018, 14:21)ozanakkaya yazdı: Emlak tipi ile ilgili kısım


    Select Case crc_emlaktipi
    
    Case 1
    
    GEmlakTipi = "KONUT"
    Case 2
    
    GEmlakTipi = "İŞYERİ"
    
    Case 3
    
    GEmlakTipi = "ARSA"
    
    End Select


strWhere = strWhere & "([kategori] = """ & GEmlakTipi & """) AND "

Emlak türü için;

    Select Case crc_emlakturu
    
    Case 1
    
    GEmlakTuru = "KİRALIK"

    Case 2
    
    GEmlakTuru = "SATILIK"
    
    Case 3
    
    GEmlakTuru = "DEVREN KİRALIK"

    Case 4
    
    GEmlakTuru = "DEVREN SATILIK"
    
    End Select


strWhere = strWhere & "([tablodakialan] = """ & GEmlakTuru & """) AND "


koddaki crc_emlakturu, emlak türünün seçildiği seçenek grubunun adı, tablodakialan ise verilerin bulunduğu tablodaki alanın adı.

crc_emlakturu isimli seçenek grubunda satılık'ı seçerseniz GEmlakTuru değişkenine "SATILIK" değeri atanacaktır.

Ozan Bey seçenek grubu başlık isimlerini portföy tablosundaki alan isimleri ile aynı yaptım  ve kodda adı geçen yerleride aşağıdaki şekilde değiştirdim. Fakat çalıştırdığımda sorgudaki alanlara baktığımda kategori ve tipi değerlerinin boş olduğunu görüyorum. Birebir herşeyi aynı yaptım fakat hata nerede bulamıyorum. Kodu incelermisiniz lütfen. [Resim: do.php?imgf=153971323481111.jpg]
.rar EmlakTakip Master_sorguolcut.rar (Dosya Boyutu: 155,47 KB | İndirme Sayısı: 0)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#16
Uygulamanızı inceleyemeyeceğim. Kullandığınız kodu yazın.
Cevapla
#17
(16/10/2018, 21:55)ozanakkaya yazdı: Uygulamanızı inceleyemeyeceğim. Kullandığınız kodu yazın.

Bu kodu çalıştırdığımda başvuru sorgusu bozulup resimde görüldüğü şekle bürünüyor. Ben sorguyu tekrar düzeltip sonuçları göster dediğimde sorgu yine bozuluyor ve rapor boş bir şekilde ekrana geliyor.

Dim qdf2 As DAO.QueryDef

Set qdf2 = CurrentDb.QueryDefs("SRG_PORTFOY")

GSorgum = "SELECT * FROM TBL_PORTFOY"

If crc_musteritipi = 1 Then

strWhere = strWhere & "([musteritipi] = ""ALICI"") AND "

Else

strWhere = strWhere & "([musteritipi] = ""SATICI"") AND "

End If

    Select Case crc_Kategori
    
    Case 1
    
    GKategori = "KONUT"
    Case 2
    
    GKategori = "İŞYERİ"
    
    Case 3
    
    GKategori = "ARSA"
    
    End Select


strWhere = strWhere & "([Kategori] = """ & GKategori & """) AND "


 Select Case crc_Tipi
    
    Case 1
    
    GTipi = "KİRALIK"

    Case 2
    
    GTipi = "SATILIK"
    
    Case 3
    
    GTipi = "DEVREN KİRALIK"

    Case 4
    
    GTipi = "DEVREN SATILIK"
    
    End Select


strWhere = strWhere & "([Tipi] = """ & GTipi & """) AND "


If Not IsNull(Me.mtn_lokasyon) Then

strWhere = strWhere & "((lokasyon1 Like '*" & Me.mtn_lokasyon & "*') or (lokasyon2 Like '*" & Me.mtn_lokasyon & "*') OR (lokasyon3 Like '*" & Me.mtn_lokasyon & "*')) AND "

End If


If Me.esyali = 0 Then

strWhere = strWhere & "([esyali] = 0) AND "

Else

strWhere = strWhere & "([esyali] = -1) AND "

End If




lngLen = Len(strWhere) - 5
If lngLen <= 0 Then
    MsgBox "No criteria", vbInformation, "Nothing to do."
Else
    strWhere = Left$(strWhere, lngLen)

GSorguTamami = GSorgum & " where " & strWhere

End If


Me.mtn_sorgu = GSorguTamami

qdf2.SQL = GSorguTamami


DoCmd.OpenReport "R_002_PORTFOY", acViewPreview, , , acWindowNormal



End Sub

[Resim: do.php?imgf=153972120115761.jpg]
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#18
Koddaki crc_Tipi ve  crc_Kategori, seçenek kutusunun adı. Sizin formunuzdaki seçenek grubunun adı doğru mu kontrol edin. Hazır çalışan 2 adet seçenek var iken onu da bozmuşsunuz. Denetim isimlerini kontrol edin. 

2 seçenek grubu ve sıkıntılı olan metin kutusu için Kodu hazırlamıştım. Tamamını ben yapamam. Ben yaparsam işin anlamı kalmaz.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task