Skip to main content

AccessTr.neT


Formdaki Bir Alana Göre Rapor Yazdırma

Formdaki Bir Alana Göre Rapor Yazdırma

Çözüldü #1
Merhaba Saygıdeğer Acess Hocalarım,

Örnek çalışmamdaki formda, "paketsayısı" alanını baz rapor yazdırmak istiyorum.

Formda seçili kayıtları istenen sayıda rapor1 e göre mevcut yazdır butonu ile yazdırabliyorum ancak; paket sayısına göre rapor yazdıramıyorum. Bunun için Formda seçili kayıtları istenen sayıda yazdırma özelliği bozulmadan, bir adet yazdır butonu ile Paket sayısı 1 olarak girilmişse Rapor1'i, Paket sayısı 2 olarak girilmişse Rapor 1 ve 2'yi, Paket sayısını 3 olarak girilmişse de Rapor1, Rapor2, ve Rapor3 'ü yazdır butonuna tıkladığımda yazdırmasını istiyorum.

Bu konuda yardımcı olacak hocalarıma şimdiden teşekkür ederim...
.rar Örnek_Çalışma.rar (Dosya Boyutu: 62,68 KB | İndirme Sayısı: 29)
Cevapla
Çözüldü #2
(06/08/2013 13:02)F.Ç Adlı Kullanıcıdan Alıntı: Formda seçili kayıtları istenen sayıda yazdırma özelliği bozulmadan, bir adet yazdır butonu ile Paket sayısı 1 olarak girilmişse Rapor1'i, Paket sayısı 2 olarak girilmişse Rapor 1 ve 2'yi, Paket sayısını 3 olarak girilmişse de Rapor1, Rapor2, ve Rapor3 'ü yazdır butonuna tıkladığımda yazdırmasını istiyorum.

Bunun için mevcut yazdırdığın butonun click kodlarında küçün bir değişiklik yapılması yeterli.

Örneğin mevcut kod bölümü:
Visual Basic Code
Do While Not rs.EOF
    For x = 1 To rs("ÇıktıSayısı")
        DoCmd.OpenReport "rapor1", acViewNormal, , "[ÜRÜNSIRANO]=" & rs(0)
    Next x
    rs.MoveNext
Loop
rs.Close
Set rs = Nothing
aşağıdaki gibi değştirip deneyin.
Visual Basic Code
Do While Not rs.EOF
    For x = 1 To rs("ÇıktıSayısı")
        DoCmd.OpenReport "rapor1", acViewNormal, , "[ÜRÜNSIRANO]=" & rs(0)
        If Me.PaketSayisi = 2 Then
            DoCmd.OpenReport "rapor2", acViewNormal, , "[ÜRÜNSIRANO]=" & rs(0)
        ElseIf Me.PaketSayisi = 3 Then
            DoCmd.OpenReport "rapor2", acViewNormal, , "[ÜRÜNSIRANO]=" & rs(0)
            DoCmd.OpenReport "rapor3", acViewNormal, , "[ÜRÜNSIRANO]=" & rs(0)
        End If
    Next x
    rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Mesajlarımızı Türkçe yazım kurallarına uygun yazalım.
Emeğe saygı gösterelim, bir teşekkürü çok görmeyelim.
Cevapla
Çözüldü #3
Sayın F.Ç.
Soru sorulalı 7 gün olmuş, cevap aynı gün 5 saat sonra yazılmış ama siz hala dönüş yapmamışsınız. Lütfen sonucu bildirir misiniz?
İnadına, ille de Accesstr.net...
Cevapla
Çözüldü #4
Hocam kusuruma bakmayın,

Bayram nedeniyle şehir dışına çıkmak zorunda kaldığım için İnternet erişim imkanım olmamıştı bir türlü. mobil telefonumda da internet özelliği yoktu. bu nedenle yazamadım.

Örneği inceledim. ama istediğim şeyi vermiyor.
örneğin çıktı sayısı 3; paket sayısı 1 ise 3 tane "rapor 1" yazdırsın. örneğin çıktı sayısı 6; paket sayısı 2 ise 6 şar tane "rapor 1" ve "rapor 2" yazdırsın. . örneğin çıktı sayısı 5; paket sayısı 3 ise 5 er tane "rapor 1, rapor 2, rapor 3" yazdırsın. istiyorum. umaraım anlatabilmişimdir.

Saygılarımla...
Cevapla
Çözüldü #5
(13/08/2013 18:04)F.Ç Adlı Kullanıcıdan Alıntı: Örneği inceledim. ama istediğim şeyi vermiyor.
örneğin çıktı sayısı 3; paket sayısı 1 ise 3 tane "rapor 1" yazdırsın. örneğin çıktı sayısı 6; paket sayısı 2 ise 6 şar tane "rapor 1" ve "rapor 2" yazdırsın. . örneğin çıktı sayısı 5; paket sayısı 3 ise 5 er tane "rapor 1, rapor 2, rapor 3" yazdırsın. istiyorum. umaraım anlatabilmişimdir.

Üstte verdiğim kodları gördüğüm kadarıyla tam da sizin tarif ettiğminiz şekilde tasarlanmış. Çıktı sayısı For döngüysüne sokulmuş ve bu döngü çıktı sayısı kadar dönüyor.
Burada olmayan nedir?
Mesajlarımızı Türkçe yazım kurallarına uygun yazalım.
Emeğe saygı gösterelim, bir teşekkürü çok görmeyelim.
Cevapla
Çözüldü #6
Maytaş Hocam,

Sizin kodu aynen yapıştırdığımda da, ilk kayıttan başka seçmezsem tamam sorun yok. ama çıktı sayısını birden çok seçersem paket sayısının çarpımlarına göre ve hep rapor1 yazdırıyor. çıktı sayısını baz almıyor.
acaba kod kısmını yanlış yere mi yapıştırıyorum. Do while .... başlayan .....Nothing ile biten kısma yapıştırıyorum. sonuna da End Sub koyuyorum.

projemin son adımı hocam burada takıldım. sizin bu sorunu çözebileceğinize inancım tam.
Son Düzenleme: 18/08/2013, 12:16, Düzenleyen: F.Ç.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da