PDA

View Full Version : گزارش گیری توسط Crosstab



com12151337
پنج شنبه 02 خرداد 1392, 15:39 عصر
سلام دوستان
بنده یک برنامه حضور و غیاب دارم که نمونه حاضر است خدمت شما ارائه شده مشکلی که دارم در Crosstab فقط از31 روز یک هفته را نشان میدهد . در سرجمع روزها 31 روز نشان داده میشود ولی روزهای حضور یک هفته را به نمایش در می آورد مشکل دوم اینکه روزها را پشت سر هم نیستند
تشکر میکنم

Abbas Amiri
پنج شنبه 02 خرداد 1392, 23:28 عصر
سلام دوستان
بنده یک برنامه حضور و غیاب دارم که نمونه حاضر است خدمت شما ارائه شده مشکلی که دارم در Crosstab فقط از31 روز یک هفته را نشان میدهد . در سرجمع روزها 31 روز نشان داده میشود ولی روزهای حضور یک هفته را به نمایش در می آورد مشکل دوم اینکه روزها را پشت سر هم نیستند
تشکر میکنم

سلام

دلیل نمایش هفته این است که شما فیلد Pivot رو برحسب روزهای هفته در نظر گرفته بودید که بایستی بر حسب تاریخ باشد .

منتها برای نمایش در روزها هفته باید در ریپورت ها اقدام کنید .
تنها نکته ای که وجود دارد ، درمورد کپشن روزهاست که هر بار در رویداد Report_Load بایستی آپدیت شوند .

فایل اصلاح شده زیر رو ببینید:

Abbas Amiri
جمعه 03 خرداد 1392, 00:44 صبح
فایل ضمیمه پست قبلی مشکلاتی داشت از قبیل متغیربودن نام فیلدها که نمیشد با کد اون رو تغییر داد.
فایل زیر با استفاده از محور عدد روزهای ماه ایجاد شده . تنها کاری که باید بکنید مخفی کردن فیلد و لیبل روزهای 31 ام برای ششماهه دوم و 30 ام برای اسفند سال های غیر کبیسه است .

com12151337
شنبه 04 خرداد 1392, 16:33 عصر
سلام بر همگی
جناب امیری تشکر میکنم از زحمات جنابعالی
یک مشکلی که دارم اینکه مدت کار کرد را به آخر روزها که اضافه میشود یا یک محاسبه میخواهم اضافه کنم در قسمت page header یکی از روزها را نشان میدهد یعنی اگر پنج شنبه باشد میشود جمعه عکس ضمیمه را ملاحظه بفرمایید ممنون میشوم

Abbas Amiri
شنبه 04 خرداد 1392, 21:31 عصر
سلام بر همگی
جناب امیری تشکر میکنم از زحمات جنابعالی
یک مشکلی که دارم اینکه مدت کار کرد را به آخر روزها که اضافه میشود یا یک محاسبه میخواهم اضافه کنم در قسمت page header یکی از روزها را نشان میدهد یعنی اگر پنج شنبه باشد میشود جمعه عکس ضمیمه را ملاحظه بفرمایید ممنون میشوم

سلام
ایجاد گزارش برای کوئریهای Crosstab مشکلات خاص خودش رو داره . مثلا در نمونه شما اگر تعداد روزها کمتر از مقدار ماهانه شد دچار خطا خواهد شد (با کد نویسی حل میشود) .
ضمن اینکه در بهترین حالت کدنویسی شده هم اگر فیلدهای روز ماه با بقیه جابجا شود باز هم مشکل ساز میشود و شما باید از یک ترکیب ثابت برای گزارش استفاده کنید . به همین علت پیشنهاد می کنم فیلد مدت کارکرد رو قبل از فیلد روزهای ماه قرار بدید چرا که برای ماههای 30 روزه مجبور به پنهان سازی فیلد 31 خواهید شد و فاصله بین کنترلها خواهد افتاد (اسفند که جای خود داره)

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

com12151337
یک شنبه 05 خرداد 1392, 07:35 صبح
سلام
جناب امیری میشه بجای ایام هفته از تاریخ همان روز استفاده بشه که این مشکلات را نداشته باشم ؟ اگر مثبت هست چطور میتونم تاریخ ها را به این شکل بنویسم 1392/01/01 وقتی تاریخ در Crosstab می آید به این شکل است 920101 ممنون از زحمات جنابعالی

Abbas Amiri
یک شنبه 05 خرداد 1392, 21:04 عصر
سلام
جناب امیری میشه بجای ایام هفته از تاریخ همان روز استفاده بشه که این مشکلات را نداشته باشم ؟ اگر مثبت هست چطور میتونم تاریخ ها را به این شکل بنویسم 1392/01/01 وقتی تاریخ در Crosstab می آید به این شکل است 920101 ممنون از زحمات جنابعالی

در مورد نمایش تاریخ بصورت سال دورقمی بعلت Input Mask بکار برده شده در جدول است درصورتی که میخواهید سال بصورت 4 رقمی باشد از 9999/99/99 استفاده کنید.
در مورد نمایش تاریخ ها بعنوان کپشن لیبلها ، در فایلتان تغییراتی ایجاد شد تا حتی الامکان نسبت به تغییرات پویا باشد .