PDA

View Full Version : پیدا کردن شماره رکورد موقع گزارش



rezaei manesh
یک شنبه 05 تیر 1384, 15:40 عصر
سلام
من در گزارشم از یک گروپ و یک دی تل استفاده می کنم که یکی از ستون های گزارشم برای هر رکورد کروپ چند رکورد توی دی تل داره
این درست کار می کنه اما برای هر رکورد گروپ اگر توی دی تل رکوردی داشته باشه در گروپ خالی می گزاره که من ی خوام این تور نشه
حال من فیلد دی تل رو در گروپ هم گذاشتم اما گزینه اول رو تکراری می ده
حال من می خوام تو خاصیت soppress دی تل از طریق فرمول بگم که اگه رکود 1 این گروپ رو می خواد نمایش بده من این رکورد رو مخفی کنم
اما نمیدونم چطوری شماره رکورد در حال اجرا برای هر گروپ رو پیدا کنم
رکورد نامبر هم جواب نمی ده)
اگه کسی می تونه کمکم کنه
:گیج:

PalizeSoftware
دوشنبه 13 تیر 1384, 04:08 صبح
از فرمول نویسی استفاده کن
یک فرمول تعریف کن که یک متغیر را با مقدار اولیه صفر معرفی کنه
بعد در بخش Group‌ مقدرا متغیر رو یک واحد اضافه کن و بقیه کارها...
متغیر رو باید بصورت Share معرفی کنی که در همه جا متعبر باشه

rezaei manesh
سه شنبه 14 تیر 1384, 08:00 صبح
سلام
چطور می تونم متغیر share معرفی کنم چطور بهش یک واحد اضافه کنم؟
لطفا کمک کنید
من هر کاری کردم نتونستم :گیج:

PalizeSoftware
چهارشنبه 15 تیر 1384, 00:40 صبح
ابتدا یک فرمول مثلا با نام InitVar معرفی کن که حاوی کد زیر باشد:


shared NumberVar tIndex:=0;

این فیلد را در بخش Report Header قرار بده و پنهانش کن (Suppress)
سپس فیلد دیگه‌ای از نوع فرمول مثلا با نام Instrument معرفی کن که در واقع عمل شمارش رو انجام بده بدین صورت:



Shared NumberVar tIndex;
tIndex:=tIndex+1;
tIndex;


حال مقدار فیلد Instrument رو فرمت بندی کن و جایی که می‌خوای چاپ بشه قرار بده یعنی در ابتدای گروپ که کار شمارش رو انجام بده

rezaei manesh
چهارشنبه 15 تیر 1384, 09:54 صبح
سلام
با عرض شرمندگی
تمام این کار ها رو کردم
اما از 1 شرو می کنه تا انها همین طور اضافه می کنه

حال مقدار فیلد Instrument رو فرمت بندی کن و جایی که می‌خوای چاپ بشه قرار بده یعنی در ابتدای گروپ که کار شمارش رو انجام بده
منظور شما از فرمت بندی چیه؟
با تشکر فراوان :flower:

PalizeSoftware
چهارشنبه 15 تیر 1384, 11:31 صبح
خب مثل این که من منظور شما رو بد متوجه شدم.
بیا این کار رو بکن:
فرمول InitVar رو اول گروپ قرار بده تا متغیر رو همیشه در ابتدای گروپ صفر کنه.
فرمول Instrument رو هم در بخش Details قرار بده و مخفی کن.
بعد در بخش کد نویسی (Supperss (No Dril Down) از Detail این دستور رو بذار


@Instrumnet=1

یعنی اگر مقدار متغیر یک بود دیگه Details رو نمایش نده و این برای اولین رکورد در Details رخ می‌ده.
:wink:

PalizeSoftware
چهارشنبه 15 تیر 1384, 17:32 عصر
دیگه نیازی به فرمت‌بندی نیست چون شما قصد نمایش رو که ندارید

rezaei manesh
پنج شنبه 16 تیر 1384, 09:24 صبح
سلام
با تشکرات فراوان
آقا به زیبایی هر چه تموم تر حل شد از شما خیلی خیلی متشکرم
:موفق:
راستی تا یادم نرفته
من یکی از فیلد هام امکان داره در بعضی مواقع بزرگتر از اندازه تکست باشه من نمی تونم کاری کنم که هر کدام از تکست ها که بزرگتر باشند چند خطی بشن نه اینکه من از اول همه رو چند خصی بگیرم؟ :گیج:

:flower: :flower: :flower:

PalizeSoftware
پنج شنبه 16 تیر 1384, 09:47 صبح
خیلی راحت میشه اینکار رو کرد. کافیه خصوصیت Can Grow رو تیک بزنی تا Text Object به هر اندازه که نیاز بود بزرگ بشه.
:sunglass:

meh_secure
پنج شنبه 16 تیر 1384, 10:49 صبح
رو این روشها کار کردم. و متغیر Shared هم بدرستی کار کرد. :wise1:

rezaei manesh
پنج شنبه 16 تیر 1384, 10:51 صبح
سلام
با تشکر بی نهایت
بروم امتهان کنم
خیلی خیلی ممنون

meh_secure
پنج شنبه 16 تیر 1384, 10:53 صبح
موفق باشید :oops: