ورود

View Full Version : شمردن یکی از گروپ باندها در طراح گزارش



amir.azimi2000
دوشنبه 11 مهر 1390, 10:13 صبح
با سلام .
در طراح گزارش یک "گروپ باند" بر اساس یکی از فیلدهای جدولم درست کرده ام .
حال میخواهم در انتهای گزارش تعداد دفعاتی که این "گروپ باند" چاپ شده را محاسبه و چاپ کنم .
لطفا مرا راهنمایی کنید .
با تشکر .

gh_khajehzade
شنبه 16 مهر 1390, 13:58 عصر
سلام به همه-يك راه اينه كه جدولت رو بر اساس فيلدي كه گروپ باند رو ساختي ايندكس unique كني وبا شمارش ركوردها مقدار مورد نظرت بدست مياد.يك راه ديگه در لينك زيركاملا توضيح داده شده اگه نتونستي استفاده كني بگو برات كاملا توضيح بدم.
http://portal.dfpug.de/dFPUG/Dokumente/Partner/Hentzenwerke/The%20Visual%20FoxPro%20Report%20Writer%20Chapter% 2008.pdf

amir.azimi2000
دوشنبه 18 مهر 1390, 10:47 صبح
سلام به همه-يك راه اينه كه جدولت رو بر اساس فيلدي كه گروپ باند رو ساختي ايندكس unique كني وبا شمارش ركوردها مقدار مورد نظرت بدست مياد.يك راه ديگه در لينك زيركاملا توضيح داده شده اگه نتونستي استفاده كني بگو برات كاملا توضيح بدم.
http://portal.dfpug.de/dFPUG/Dokumente/Partner/Hentzenwerke/The%20Visual%20FoxPro%20Report%20Writer%20Chapter% 2008.pdf

با سلام .
ضمن تشکر و قدردانی از توجه شما دوست عزیز موارد زیر خدمتتان عرض میگردد .

1. امکان ایجاد شاخص جدید نمیباشد (بانک اطلاعاتی برروی سرور شیر بوده و تغییر در ساختار آن مستلزم شرایط خاص است) .

2. برای ایجاد گزارش بهمراه اعمال شرطها اجبارا از دستور Report Form بهمراه پارامتر For استفاده کرده ام .

3. میتوانم قبل از تولید گزارش توسط دستورات فاکس پرو رکورهای حائز شرط را به صورت یونیک بشمارم ولی به نظرم کار درستی نیامد و همانگونه که لطف کردید و فایل راهنما گذاشتید دوست دارم از متغیرهای داخل طراح گزارش استفاده کنم .

4. فایل شما را دیدم ، ممنون از اینکه وقت گذاشتید از سه خط آخر صفحه هشتم به بعد دقیقا به مشکل من پرداخته ولی متاسفانه من چیزی دستگیرم نشد .

در صورت امکان بذل لطف فرموده و توضیح بدهید .

با سپاس .

gh_khajehzade
دوشنبه 18 مهر 1390, 14:40 عصر
تو گزارشت يك متغير بانامnTotalMonths تعريف كن و در پنجره تعريف متغير مقادير زير رو انتخاب كن
value to store=0
initial value=0
reset vlaue based on=report
calculation type=sum
يك تابع به نامincrmonths.prg و با خطوط زير تعريف كن ودر مسير پوشه اصلي قرار بده
FUNCTION IncrMonths
nTotalMonths = nTotalMonths + 1
RETURN ""

حالا در group footer كه تعريف كردي ازinsert control يك فيلد اضافه كن و در properties اون مقدارexperission رو incrmonths() قرار بده.
قبل از اجراي گزارش كد زير رو بايد اجرا كني
_VFP.SetVar("nTotalMonths", nTotalMonths + 1)
در انتهاي گزارش مقدار فيلدي رو كه تو group footer انداختي مقداري كه ميخواي هست.

توضيح انكه نامها رو بر اساس مثالي كه تو لينك هست انتخاب كردم.اگه بازم نتيجه نگرفتين در خدمتم.من تست كردم درست بود.

amir.azimi2000
سه شنبه 19 مهر 1390, 11:25 صبح
تو گزارشت يك متغير بانامnTotalMonths تعريف كن و در پنجره تعريف متغير مقادير زير رو انتخاب كن
value to store=0
initial value=0
reset vlaue based on=report
calculation type=sum
يك تابع به نامincrmonths.prg و با خطوط زير تعريف كن ودر مسير پوشه اصلي قرار بده
FUNCTION IncrMonths
nTotalMonths = nTotalMonths + 1
RETURN ""

حالا در group footer كه تعريف كردي ازinsert control يك فيلد اضافه كن و در properties اون مقدارexperission رو incrmonths() قرار بده.
قبل از اجراي گزارش كد زير رو بايد اجرا كني
_VFP.SetVar("nTotalMonths", nTotalMonths + 1)
در انتهاي گزارش مقدار فيلدي رو كه تو group footer انداختي مقداري كه ميخواي هست.

توضيح انكه نامها رو بر اساس مثالي كه تو لينك هست انتخاب كردم.اگه بازم نتيجه نگرفتين در خدمتم.من تست كردم درست بود.

با سلام مجدد .
دوست عزیز خیلی خیلی ممنونم با پیگیری و راهنمایی شما هم مشکلم حل شد و هم اینکه راهکار جدید یاد گرفتم .
امید که در تمام مراحل زندگی موفق و موید باشید .
دست حق یارتان .