1

Konu: Table sız rapor yazdırmak

Merhaba,
Benim sorunum şu: Tüm yazılacak şeyler değişkenler halinde var,  yani memory variables olarak bellekte var. Bir report (frx) dosyası oluşturdum. Ancak birkaç sorun çıktı. İlki şuydu: her defasında bir table istiyordu. Buna gereksinim yoktu benim için çünkü her şey memo var olarak (çoğu da memo field'dan alınma). Ben de bir dummy table (tek record lu tek field lı) oluşturup onu işaret ettim. Bu sorun çözüldü. Benim reportumda başta hasta adı v.b. sabit kimlik bilgilerinden sonra herbiri uzunluk açısından çok değişkenlik gösteren (1 satır da var 20 satır tutan da var) memo field'lerden alınma variable'lar var. Bunların herbirini 1 satır yüksekliğinde yapıp "strech with overflow"'u işaretleyerek ve float yaparak alt alta koydum. Sorunum şu: bazı hasta kayıtlarında özellikle tek sayfa olanlarda sorun olmazken 2. sayfaya tam sınırda taşan olgularda en alt satırlar çıkmayabiliyor. Oysa o rapor 2 sayfalık ama 1 sayfa görünüyor. Ama büyük ölçüde 2. sayfaya taşan olgularda sorun olmuyor. Kimi zaman da kimi field'lar aşağıda çıkıyor. Bu tutarsız davranışlar benim cehaletimden mi kaynaklanıyor bilmiyorum. Ama VFP'de rapor yazdırmak frx dışında mümkün mü diye araştırmaya başladım ve VFP'ye saygımı yitirmek üzereyim.
Yardımlarınız için şimdiden teşekkürler...

2

Re: Table sız rapor yazdırmak

Saygıyı yitirmek icin acele etme smile
tablosuz rapor yazdirmak kolay SQL Query ile rapor yansitmak istediklerini bir yada daha fazla cursorde toplarsin rapor field expression kisminada cursoradi.alanadi seklinde yazarsan raporun goruntulenecektir.
ayrica rapor tasariminda header footer detail bantlari var buralarda ne gostermek istiyorsan dizaynını ona gore ayarlarsin ben onlarca rapor hazirladim hic birindede tablo kullanmiyorum  her hangi bir kaymada yok

NOT : VFP9 oncesi versionla hazirlamis oldugun raporu VFP9 altinda calistirinca kaymalar olabilir bunda GDI+ tan kaynaklaniyor VFP9 report engine mantigi farkli cunku ancak eski raporlarini fatura,irsaliye vs  dizaynlarini aynen kullanmaya devam edeceksen

set reportbehaviour 80
repo form .....
set repo beha 90

diyerek anlik engine degisim yapabilirsin...

3

Re: Table sız rapor yazdırmak

xfrx kullan. onda istediğin gibi kodla report oluşturabiliyorsun. öyle dummy table filan da gerekmez. ama xfrx ücretli. yalnız bir kere alıyorsun. bir daha ücret yok.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

4

Re: Table sız rapor yazdırmak

Yardımlarınız için teşekkürler.
data environment'a CREATE CURSOR ile bir cursor yarattım ve INSERT INTO ile field'lara atamalar yaptım. Rapor çalışıyor görünüyor.
Yalnız yine bir sorunum var. Raporun son bölümünde TANI, YORUM ve tarih ve imza field'ları var.
Her raporda tarih ve imza fieldları her zaman var, ancak her raporda tanı ya da yorum olmayabiliyor. Ama asla her ikisinin de olmadığı olmuyor. Kimi zaman da her ikisi de oluyor.
Sorun şu; kimi zaman raporda tarih ve imza kısmı 2. sayfaya taşıyor. Ve bunlar tek başına 2. sayfanın başında yer alıyor. Bu tabii ki hoş bir durum değil. Benim istediğim şu eğer rapor 2 sayfalık ise ve taşma oluyor ise tanı ya da yorum ile tarih ve imza kısımlarını blok olarak 2. sayfaya alsın. Bu mümkün müdür?
Teşekkürler

5

Re: Table sız rapor yazdırmak

mumkun;
raporda imza ve tarih field inin property lerinde Print When ozelligi ni goreceksin
buraya

print only when expression is true
altıntadki txtbox a

Visual Fox Pro
_pageno = _pagetotal

yazarsan

bu 2 field sadece son sayfada yazdirilir

6

Re: Table sız rapor yazdırmak

summary band kullansana

7

Re: Table sız rapor yazdırmak

İlginiz için teşekkürler,  her mesajdan öğrendiklerim ve düzeltmelerim oldu.
Sonuçta şurada tıkandım. İkinci sayfaya taşan raporlarda benim istediğim şu: bir field'ın bir kısmı 1. sayfada geri kalanı da 2. sayfada olmasın, bu fieldın hepsi aynı sayfada olsun. Biliyorsunuz bu, MS Word'de paragraf için Widow/Orphan Control (Türkçe versiyondaki adı nedir bilmiyorum)  olarak vardır. Yani paragrafın parçalanmasını istemiyorsak (yani ilk sayfada sadece ilk satırı varsa ya da son satırı sonraki sayfaya taşıyorsa) bunu enable etmemiz gerekir. Ancak VFP'de böyle bir şey yok.
Bir field'nın bir kısmının 1. sayfada geri kanalın da 2. sayfada olduğunu programatik olarak anlayamıyoruz.
Print When'e _PAGENO = _PAGETOTAL yazmak bu konuda işe yaramıyor. O zaman bu field'ı hiç yazmıyor ya da ilk sayfaya sığan kısmını yazıp geri kalanını bırakıyor. Summary bandde de benzer şey var.

8

Re: Table sız rapor yazdırmak

Visual Fox Pro
_pageno = _pagetotal


sadece son sayfa hangisi olacaksa (raporda gelen dataya bagli) orada gozukmesini istedigin sarta bagli bir alan oldugunda gerekli Orn. fatura alt toplamı , kdv , genel toplam gibi

ancak sen kesin olarak cikmasini istedigin alani (imza , isim  soyisi,onay vs..) Cetin hocamin dedigi gibi
summary banda yaz orada rapor sonunda sabit olarak surekli gelir sayfa sayısı kac olursa olsun