PDA

View Full Version : ایجاد گزارش خلاصه وضعیت خدمتی



ali_autumnal
پنج شنبه 25 اسفند 1390, 16:25 عصر
با سلام و خسته نباشید

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

این 7 تا جدول رو بهم left join زدم.

جدول ها عبارتند از:
1- مشخصات پرسنل
2- مرخصی ها
3- ترفیعات
4- تشویقات
5- تنبیهات
6- غیبت ها
7- مشاغل

بخشی از گزارش رو هم درست کردم اما به مشکل برخوردم. مشکل رو جدول هایی پیش میارند که به ازای هر رکورد تو جدول پرسنل چند رکورد در (مثلا) جدول مشاغل داشته باشیم. باعث میشه اطلاعات مدام تکرار بشه.

از group واسه جدول مشخصات پرسنل استفاده کردم. وقتی اون یکی جدول ها رو هم اضافه میکنم group باعث میشه یک رکورد از جدول مشاغل نمایش داده بشه.

به شکل زیر توجه کنید.
84227
همونطور که گفتم بخش مشاغلی که تاکنون عهده دار بوده است چندین بار تکرار میشه. در حالی که من میخوام همانند شکل زیر درست بشه.
84228

در ضمن به در هر بخش میخوام شماره ردیف بزنم. این رو هم چطور میتونم حل کنم؟

لطفا کمکم کنید.

بی نهایت سپاسگزارم
علی پاییزی

Mahmoud Zaad
پنج شنبه 25 اسفند 1390, 22:34 عصر
سلام
یه نگاهی به این سایت (http://www.c-sharpcorner.com/UploadFile/mahesh/MultipleDataSourceReport08232006225431PM/MultipleDataSourceReport.aspx)بندازید.

ali_autumnal
پنج شنبه 25 اسفند 1390, 23:07 عصر
سلام
یه نگاهی به این سایت (http://www.c-sharpcorner.com/UploadFile/mahesh/MultipleDataSourceReport08232006225431PM/MultipleDataSourceReport.aspx)بندازید.

یعنی با استفاده از SubReports مشکل من حل خواهد شد؟

من از SubReports استفاده کرده واسه همین گزارشم استفاده کرده بودم، که جواب نداد. یعنی با خطا روبرو شدم. اما به این شکل نه استفاده نکرده بودم.

Mahmoud Zaad
جمعه 26 اسفند 1390, 09:29 صبح
یعنی با استفاده از SubReports مشکل من حل خواهد شد؟

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

ali_autumnal
جمعه 26 اسفند 1390, 11:03 صبح
به نظرم مشکل حل میشه یه نمونه ضمیمه می کنم نگاه کنید، برای هر کدوم از جدول ها یه subreport ایجاد کردم و هر دو تاشون رو توی هدر پیج روی هم قرار دادم.

دوست عزیز در اینجا اطلاعات مشتری داره تکرار میشه. یعنی مثلا مشتری بنام محمودی 3 بار نام محمودی تکرار شده.

یعنی به ازای هر رکورد تو جدول اول یک رکورد از جدول دوم چاپ شده.

در حالی که من میخوام به ازای هر رکورد در جدول اول کلیه رکورد های موجود در جدول دوم که با رکورد اولی (جدول اول) در ارتباط هستند چاپ بشه.

این مشکل رو با group حل میکنم اما مونوندم چطور به این روش حل کنم.

Mahmoud Zaad
جمعه 26 اسفند 1390, 11:22 صبح
دوست عزیز در اینجا اطلاعات مشتری داره تکرار میشه. یعنی مثلا مشتری بنام محمودی 3 بار نام محمودی تکرار شده.

یعنی به ازای هر رکورد تو جدول اول یک رکورد از جدول دوم چاپ شده.

در حالی که من میخوام به ازای هر رکورد در جدول اول کلیه رکورد های موجود در جدول دوم که با رکورد اولی (جدول اول) در ارتباط هستند چاپ بشه.

این مشکل رو با group حل میکنم اما مونوندم چطور به این روش حل کنم.
نه، به نظرم این همون کاری که می خوای رو انجام میده، اینجا به ازای هر کدوم از رکوردهای جدول اول رکوردهای مربوط به همون آی دی رو از جدول دوم انتخاب کرده و نشون میده، شما یه بار بر اساس id فیلتر کن.

ali_autumnal
جمعه 26 اسفند 1390, 11:29 صبح
این رو چک کنید.
همون مثال شماست من این طور تغییر دادم جواب داد.


OleDbDataAdapter da1 = new OleDbDataAdapter("SELECT id, name, famil FROM tb1 where id=1", con);
OleDbDataAdapter da2 = new OleDbDataAdapter("SELECT tb1ID, kala FROM tb2 where tb1ID=1", con);

DataSet ds = new DataSet();

DataTable tb1 = new DataTable();
DataTable tb2 = new DataTable();
da1.Fill(ds, "tb1");
da2.Fill(ds, "tb2");

Mahmoud Zaad
جمعه 26 اسفند 1390, 11:42 صبح
این رو چک کنید.
همون مثال شماست من این طور تغییر دادم جواب داد.


OleDbDataAdapter da1 = new OleDbDataAdapter("SELECT id, name, famil FROM tb1 where id=1", con);
OleDbDataAdapter da2 = new OleDbDataAdapter("SELECT tb1ID, kala FROM tb2 where tb1ID=1", con);

DataSet ds = new DataSet();

DataTable tb1 = new DataTable();
DataTable tb2 = new DataTable();
da1.Fill(ds, "tb1");
da2.Fill(ds, "tb2");

این که جواب میده، حالا شما فیلتر همین کد رو بردار ببین چی میشه(بدون ساب ریپورت رکوردها تکرار میشن و با ساب ریپورت هم جوابش درست نیست).

ali_autumnal
جمعه 26 اسفند 1390, 13:56 عصر
بهمین صورت که گفتم میشه مشکل رو حل کرد. چک کردم کاملا جواب داد.

متشکرم از راهنمایی تون
علی پاییزی