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.Ç yazdı: 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ü:
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.
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.Ç yazdı: Ö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