PDA

View Full Version : گزارش چند صفحه ای با کریستال ریپورت



m.mahnani
سه شنبه 18 آبان 1389, 23:28 عصر
سلام دوستان ،
من قبلا این موضوع رو تو قسمت کریستال ریپورت مطرح کردم ، اما پاسخی دریافت نکردم
من یه دفترچه دارم که به عنوان اطلاعات آموزشی یه آموزشگاه هر ترم از اون برای هر رشته شون یه نمونه کامل می کنن ...
اطلاعات شامل موارد زیر هستند :
اطلاعات هنرجویان یک مهارت خاص (کاربر word) ، اطلاعات مدرسین ، ساعات برگزاری کلاس ها ،
و این موارد هر کدوم تو یه صفحه جدا هستند ، من مراحل ثبت و .. در بانک اطلاعاتی نوشتم و مونده گزارشش ، تو کریستال ریپورت چه جوری میشه یه گزارش چند صفحه ای تولید کرد ؟ و هر صفحه اطلاعات رو از جدول خاصی میگیره این جداول همه به همدیگه ربط دارن

با تشکر از دوستان برنامه نویس :تشویق:

hamid67fathi
چهارشنبه 19 آبان 1389, 09:43 صبح
فکر نميکنم در کريستال بتونی اين کار رو انجام بدی،ولی در ماکروسافت ريپورت اين کار شدنی هست(البته اون هم در مواردی دارای ضعف هست)

mohammad_2039
چهارشنبه 19 آبان 1389, 09:46 صبح
سلام
دوست عزیز بگید تیبل ها چطوری با هم ارتباط دارن، منظورم اینه که اگه یکی Master و بقیه نسبت به اون Detail هستند بفرمائید تا من کمکتون کنم.( اگه از دیتا ست عکس بدی بهتره).

m.mahnani
چهارشنبه 19 آبان 1389, 13:34 عصر
سلام
دوست عزیز بگید تیبل ها چطوری با هم ارتباط دارن، منظورم اینه که اگه یکی Master و بقیه نسبت به اون Detail هستند بفرمائید تا من کمکتون کنم.( اگه از دیتا ست عکس بدی بهتره).

یه عکس کلی از دیاگرام بانک اطلاعاتی براتون گذاشتم ، امیدوارم بتونید مشکل من رو حل کنید
من یه گزارش از اطلاعات جدول studentTeacherSkill می خوام که در واقع خودش از جدواول دیگه ای مشتق شده، در ضمن این اطلاعات که قبلا هم ذکر شده هر کدوم تو یه صفحه جداگانه هستند
با تشکر

mohammad_2039
چهارشنبه 19 آبان 1389, 22:25 عصر
منظور شما از اینکه میگید "هر کدوم تو یه صفحه جداگانه هستند" چیه ؟؟ من تو دیاگرام یه تیبل به نام studentTeacherSkill می بینم که از اطلاعات جداول دیگه پر میشه( یعنی جدولی که قبل از ارسال به گزارش پر شده). یا این جدول در دیتا بیس ایجاد شده یا شما در دیتا ست ایجادش میکنید در هر حالت میتونید به کریستال پیوند ش بدید و اطلاعاتش رو چاپ کنید. الان شما فقط میخوای اطلاعات جدول studentTeacherSkill رو چاپ کنی ؟؟ دوست عزیز جسارتا شما چقدر کار با کریستال رو بلدی ؟ چون یا سوال شما اینقدر پیچیده اس که من اصلا از اول نفهمیدمش یا خیلی ساده و یه گزارش عادی هستش ؟ که من فکر میکنم حالت دوم باشه، من چند تا تیبل میبینم که قراره اطلاعاتش چاپ بشه.

hamid67fathi
چهارشنبه 19 آبان 1389, 23:05 عصر
منظور شما از اینکه میگید "هر کدوم تو یه صفحه جداگانه هستند" چیه ؟؟ من تو دیاگرام یه تیبل به نام studentTeacherSkill می بینم که از اطلاعات جداول دیگه پر میشه( یعنی جدولی که قبل از ارسال به گزارش پر شده). یا این جدول در دیتا بیس ایجاد شده یا شما در دیتا ست ایجادش میکنید در هر حالت میتونید به کریستال پیوند ش بدید و اطلاعاتش رو چاپ کنید. الان شما فقط میخوای اطلاعات جدول studentTeacherSkill رو چاپ کنی ؟؟ دوست عزیز جسارتا شما چقدر کار با کریستال رو بلدی ؟ چون یا سوال شما اینقدر پیچیده اس که من اصلا از اول نفهمیدمش یا خیلی ساده و یه گزارش عادی هستش ؟ که من فکر میکنم حالت دوم باشه، من چند تا تیبل میبینم که قراره اطلاعاتش چاپ بشه.


اينطور که من فهميدم ، اين دوستمون ميخواد در يک کريستال اطلاعات چند تا جدول رو به صورت پشت سر هم (ولی به ساختار متفاوت) چاپ کنه ، با تجربه اي که من از کريستال دارم اين کار نشدنی هست (شايد sub report بتونه کارش رو راه بندازه).

m.mahnani
پنج شنبه 20 آبان 1389, 02:45 صبح
از راهنمایی هاتون ممنون اگه ممکنه بیشتر توضیح بدین

mohammad_2039
پنج شنبه 20 آبان 1389, 09:44 صبح
بله اگه گفته شما منظور دوستمون باشه با Subreport میشه کاری کرد . با فرض اینکه میخوای از ساب ریپورت استفاده کنی کریستال رو باز کن (یا از داخل دات نت یه کریستال ریپورت به پروژه add کن) از پنجره فیلد اکسپلورر یه کانکشن جدید به دیتا بیس یا دیتا ست (اگه در برنامه Type DataSet داری و جداول رو به اون اضافه کردی و Relation ها رو توش برقرار کردی) بزن و فیلدهای تیبل اصلی رو بکش تو Detail a . حالا از منوی Insert گزینه Subreport رو انتخاب کن . در تب subreport میتونی از یه گزارش آماده استفاده کنی یا Subreport رو همون جا طراحی کنی. اگه در گزارش تیبل های به هم وابسته داری یعنی Relation یک به چند بین تیبل اصلی و Sub report برقراره به تب Link برو و فیلد مشترک رو از سمت چپ انتخاب کن(منظورم فیلد کلیدی هست که در هر دو تیبل هست) تا به پنجره سمت راست اضافه بشه و تغییری دیگه ای نده و ok کن . حالا subreport رو هر جای گزارش خواستی قرار بده. میتونی روی Detail a کلیک راست کنی و Insert SectionBelow رو بزنی تا یه Detail جدید ایجاد بشه و subreport رو اونجا قرار بدی. حالا میتونی روی ساب ریپورت دابل کلیک کنی بری داخل و تغییرات بدی. (این همه نوشتم امیدوارم به درد بخوره:لبخند:)