Kritere Göre Rapor Açma Kod Sorunu

16/02/2016, 16:24

Akifff

Arkadaşlar aslında basit birşey belki ama tıkandım ya
"santiyesec" formunda liste kutusundan seçtiğim Şantiye adına göre raporda filtre uygulaması yapsın istiyorum. Şantiye adları ve id numaraları ayrı bir tabloda tutuluyor. Raporu kendim çalıştırıp parametre girince güzel çalışıyor ama formdaki değerden yapınca boş form çıkıyor.

Kod:
Private Sub Komut38_Click()
On Error GoTo Err_Komut38_Click

    Dim stDocName As String

    stDocName = "cosantiye_rpr"
    DoCmd.OpenReport stDocName, acPreview, , "Santiye=" = Me.santadi

Exit_Komut38_Click:
    Exit Sub


Err_Komut38_Click:
    MsgBox Err.Description
End Sub

kodlamayı yukarıdaki gibi yaptım. Yardımlarınızı bekliyorum. Teşekkürler.
16/02/2016, 16:50

atoz112

sayın akifff,

bahsettiğiniz talebinize yönelik olarak;
aşağıdaki açıklamaların yapılması uygun görülmüştür.

cosantiye_rpr adlı raporunuzun VERi sekmesindeki KAYIT KAYNAĞI satırında cezaodul3_srg adlı sorgu yazmakta.

bu sorgunun Sql kod yapısı incelendiğinde de,zaten ŞANTİYE alanındaki kriter (ölçüt) satırında

Kod:
[Forms]![santiyesec]![santadi]

kod ifadesi mevcut.dolayısı ile,burada yazılı iken,tekrar form üzerindeki rapor açma için kullandığınız butonun olay yordamında kriter belirtilmesinin de gereği yoktur.butonun içeriğindeki tüm kodları tamamen temizleyip yerine sadece

Kod:
DoCmd.OpenReport "cosantiye_rpr", acPreview

yazmanız yeterlidir.istediğiniz sonucu verecektir.bilginize...iyi çalışmalar,saygılar.
16/02/2016, 16:59

atoz112

sayın akifff,

kriter belirlemek sureti ile rapor açma konusunda,kriter yazımına dair bir husus daha belirtmekte fayda var kanısındayım.

Kod:
DoCmd.OpenReport stDocName, acPreview, , "Santiye=" = Me.santadi

kod olarak yukarıda yazılı ifadeyi kullanmışsınız.fakat,burada dikkat etmeniz gereken husus şu:
eğer kriter belirlerken,SAYI veri türü değerine göre olacaksa olduğu gibi yazılabilir fakat eğer METİN (String) veri türüne göre olacaksa,o zaman,TEK TIRNAK (') içerisinde yazmalısınız.

örneğinizden yola çıkarak açıklamak gerekirse;

Santiye adlı alan METİN veri türü.Me.santadi adlı denetiminizde METİN veri türü yazılı.kod üzerinde TIRNAK işaretleri olmaksızın yazmışsınız.bu da hata verir.

DOĞRU YAZIMI
Kod:
DoCmd.OpenReport stDocName, acPreview, , "Santiye='" = Me.santadi & "'"

şeklinde olmalı.bilginize...iyi çalışmalar,saygılar.
16/02/2016, 17:01

Akifff

Çok teşekkürler hocam, basit bir hata olduğunu tahmin ediyordum. Üzerinde uzunca çalışınca göremiyorum bazen Sorunum çözülmüştür. Saygılar.