PDA

View Full Version : سوال: نمايش يا عدم نمايش در گزارش



Profesorjd
جمعه 22 آبان 1388, 11:46 صبح
با سلام
در گزارشات بعضي از موارد Label هستند كه معرفي آن بخش از گزارش مي باشند .
اما گاهي بخشهايي از گزارش فاقد اطلاعات هستند ليكن عليرغم آن ليبل ميآيد .
1- چگونه ميتوان كاري كرد كه در صورت نبودن اطلاعات ليبل هم ديده نشود ؟
2- با فرض مذكور گزارش چند صفحه اي هم هست اگر بخشهاي آخر كه در صفحات بعدي هستند فاقد اطلاعات باشند و با روش فوق ديده نشوند چگونه ميتوان كاري كرد تا صفحات سفيد چاپ نشود ؟
با تشكر

مهدی قربانی
شنبه 23 آبان 1388, 15:51 عصر
سلام
بهتره نمونه بذاريد تا اعضاء بهتر متوجه مشكل شما بشن .

Profesorjd
شنبه 23 آبان 1388, 20:11 عصر
با سلام و تشكر
حجم فايل اصلي بالاست و عليرغم زيپ شدن بيشتر از حد مجاز براي ارسال است . دارم بخشي از زوائدش را حذف ميكنم كه كمتر شود .
ولي توضيح عرض كنم :
1- يك Report دارم كه در آن چند Sub Report قرار داده‌ام . براي هر كدام از اين ساب ريپورتها يك Label‌ قرار دادم كه طبيعتاً وقتي سابها محتويات نداشته باشند آورده نمي شوند ولي ليبلشان كه در ريپورت اصلي است مي‌آيد . در detail‌ گزارش و رويداد On Format آن يك If گذاشته‌آم
If S_R_Peyvast = null then
me.S_R_Peyvast_Label... كه جواب نميدهد چراكه هم ايراد از كد ميگيرد و هم كنترلي براي عدم نمايش ليبل ندارد كه بتوانم disable كنم .(مثلاً)
2- در گزارش مزبور براي ايجاد صفحه بين ساب ريپورتها از Page Break استفاده كرده‌ام كه وقتي ساب ريپورت آخر خالي باشد يك صفحه اضافه مي‌اندازد بعبارتي از گزارش دو صفحه‌اي باشد در صورت خالي بودن ساب آخر يك صفحه خالي اضافه ميشود و گزارش سه صفحه‌اي ميشود .

مهدی قربانی
شنبه 23 آبان 1388, 22:49 عصر
سلام
حالا شما هر وقت ممکن شد نمونه رو آپ کنید تا بلکه انشاءالله راه حل هم پیدا بشه .

Profesorjd
دوشنبه 02 آذر 1388, 19:19 عصر
با سلام و تشكر
فايل مربوط به مشكل بيان شده در آدرس ذيل قرار داده شده است .
ممنون ميشوم پاسخ فرماييد .
http://barnamenevis.org/forum/showthread.php?t=189339

Profesorjd
چهارشنبه 04 آذر 1388, 20:06 عصر
با سلام
آيا راه حلي براي اين موضوع يافت نميشود ؟ عليرغم تأخير خودم اما هنوز منتظر لطف دوستان هستم

Profesorjd
دوشنبه 09 آذر 1388, 23:50 عصر
با سلام
با توجه به راهنمايي جناب پيروزمهر جواب مشكل اول :
ميبايد در رويداد On format كد زير رو نوشت :

If "نام ساب ريپورت".Report.HasData = False Then
"نام ليبل".Visible = False
Else
"نام ليبل".Visible = True
End If

مهدی قربانی
سه شنبه 10 آذر 1388, 09:27 صبح
سلام
براي مورد دوم شما مي تونيد مشابه راه حل سئوال اول اقدام كنيد يعني بررسي كنيد اگر ساب ريپورت آخر اطلاعاتي نداشته باشه اون Page Break‌ آخر مخفي بشه .
كد :

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
If Me.T_Pevast_B_2_subreport.Report.HasData = False Then
Me.PageBreak86.Visible = False
Else
Me.PageBreak86.Visible = True
End If
End Sub