بسم الله الرحمن الرحیم
با سلامجداولم اینطوریه:
جدول 1:
آی دی، اطلاعات شخصی، شغلی و ...
جدول دو: آی دی، آی دی جدول یک، اطلاعات بستگان.
جدول هام اشکال ندارن؟![]()
نه مشکلی نداره.
بسم الله الرحمن الرحیم
با سلامجداولم اینطوریه:
جدول 1:
آی دی، اطلاعات شخصی، شغلی و ...
جدول دو: آی دی، آی دی جدول یک، اطلاعات بستگان.
جدول هام اشکال ندارن؟![]()
نه مشکلی نداره.
سلام.
از دوستان کسی پیشنهادی برای رفع مشکل من نداره؟
ممنون میشم اگه راهنمایی کنید.
بسم الله الرحمن الرحیم
با سلام
اون مسئله ای که در مورد Left Join فرمودید هنوز پابرجاست؟
سلام.
left join رو امتحانش کردم. جواب می ده. ولی هنوز تو گزارشم نبردمش. و از راهنماییتون تشکر می کنم.
ولی هنوز مشکل فرم گزارشم درست نشده.
ممنون میشم اگه کسی بتونه راهنمایی کنه.![]()
سلام.
کسی تو گزارش گیری تجربه این مشکلو نداره که بتونه کمک کنه؟![]()
سلام
اجازه دهید اول یکبار سوال تان مرور کنیم و دقیق مطمئن شویم چه میخواهید.
- شما نیاز به یک گزارش دارید!
- گزارش شما یک هدر مشترکی در تمام صفحات دارد، مانند آرم یک شرکت که باید در بالای تمام صفحات تکرار شود.
- در بدنه گزارش یک رابطه یک به چند دارید مانند ارتباط یک نویسنده با چندین کتابی که نوشته.
- اطلاعات سطر والد "مانند همان تک نویسنده" میخواهید در صفحه اول بیایید و اطلاعات سطرهای فرزند در زیر آن.
- اگر بابت هر نویسنده-کتاب ، گزارش به صفحه دوم و سوم هم کشید نمیخواهید اطلاعات نویسنده مجدد تکرار شود و فقط میخواهید اطلاعات کتابها ادامه یابد
درست است؟ تمام شد؟
اگر جایی کم و کسر دارد، اشتباه گفتم یا متوجه شدم و... به دقت و صراحت، اصلاح یا اضافه کنید.
فعلاً اگر بخواهیم با این فرض جواب دهیم، گزارش شما کاملاً در چهارچوب یک گزارش عادی قرار داد.
یک گزارش بسیار ساده با یک جدول میتواند قالبی این چنینی داشته باشد.
ولی تقریباً در تمام برنامه های گزارش ساز برای چاپ صحیح یک رابطه یک به چند نیاز به افزودن یک Group Section داریم.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
GroupSection روی یک والد تک قفل شده و برای فرزندان ان تکراری ایجاد میکند با قالب کلی زیر:
شما کافی است یک Group Section به گذارش خود اضافه کنید و آن را روی فیلد ارتباطی جدول والد-فزند تان قفل کنید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
افزودن یک Group Section منطقاً و حتماً نیاز به گرفتن فیلدی برای تفکیک پذیری دارد.
(
همان فیلدی که در Join دو جدول یک به چند استفاده شده، شاید شما چندین Join داشته باشید ولی در اینجا مهم Join ای است که رابطه والد فرزندی مدنظر شما در گزارش را ایجاد کرده.
مثلاً اگر اطلاعات شما حاوی یک فرد و چندین دوست او باشد، احتمالاً کد PrimaryKey جدول افراد همان کلیدی است که جدول "افراد" را به جدول "دوستان" Join کرده.
)
پس از این افزودن کافی است...
آرم و مشخصات کلی همه صفحات را در PageHeader و PageFooter قرار دهید.
اطلاعات آن ارتباط تک (مثل شخص) را در GroupHeader قرار دهید.
و اطلاعات تکرارشونده به ازای هر فرد را (مانند کتابها یا دوستان ...) در Detail قرار دهید.
موفق باشید.
سلام.
دست شما درد نکنه و ممنون از اینکه بهم جواب دادید.
شما درست فرمودید:
همه ی صفحه ها باید سربرگ و اطلاعات اولیه نویسنده مانند نام و ... و بقیه اطلاعات مثلا شغلی و ... رو داشته باشه.
صفحات بعد، سربرگ، اطلاعات اولیه و اطلاعاتی مثل نام کتاب هایی که نوشته و احتمالا آنقدر زیاد باشند که به صفحات بعدی هم کشیده بشه.
یعنی صفحات 2 به بعد باید سربرگ، اطلاعات اولیه و بقیه اطلاعات detail رو داشته باشند.
ولی دقیقا gropu section چطور عمل می کنه؟
میشه یه توضیح کامل تری بدین؟ و اینکه چطور تکرار میکنه؟
ممنون میشم.![]()
سلام
در واقع GroupSection به ازای مقادیر ثابت یک فیلد دلخواه Header و Footer ای به گزارش شما اضافه میکند.ولی دقیقا gropu section چطور عمل می کنه؟
میشه یه توضیح کامل تری بدین؟ و اینکه چطور تکرار میکنه؟
به بیان دیگر
گزارش ما را از محور عمودی(!) برای مقادیر یک فیلد میشکند و به هر بخش Header و Footer ای اضافه میکند.
به عنوان نمونه شما در گزارشتان اطلاعات افراد و دوستان آنها را دارید (یک به چند) و میخواهید گزارش شما به ازای هر یک نفر (و طبیعتاً چندنفر دوست وابسته او) یک Header و Footer اضافه ویژه داشته باشد که اطلاعات آن یک نفر را فقط در ابتدای سرتیتر دوستان او، یکبار تکرار کنید.
در کریستال رپورت میتوانید از دیالوگ RightClick>Report>Group Expert گروه جدیدی ایجاد کنید.
امتحانی بفرمائید، انشاا... به مقصودتان خواهید رسید.
موفق باشید.
سلام.
مشکل من تو گزارش قبلی حل شد و از شما تشکر میکنم.
اما دو تا سوال دیگه تو گزارش گیری داشتم:
1- فرض کنید دو گروه از اطلاعات تکرار شونده داریم.
مثلا اطلاعات سوابق تحصیلی و اطلاعات سوابق شغلی
می خواهیم اطلاعات سوابق تحصیلی که کاملا نمایش داده شد بعدش اطلاعات سوابق شغلی شروع بشه.
یعنی بشه:
سوابق تحصیلی 1
سوابق تحصیلی 2
سوابق تحصیلی 3
.
.
.
سوابق تحصیلی n
---------------------------------------------------
سوابق شغلی 1
سوابق شغلی 2
سوابق شغلی 3
.
.
.
سوابق شغلی n
اگه سوابق تحصیلی رو تو یه details بزاریم و سوابق شغلی رو تو یه details دیگه جواب نمیده.
چون اینطور میشه:
سابقه تحصیلی 1
سابقه شغلی 1
-------------------
سابقه تحصیلی 2
سابقه شغلی 2
--------------------
.
.
.
چه راه حلی برای این کار وجود داره؟
البته اگه راهش استفاده از group هست، لطفا یه توضیح کامل بفرمایید.
2- من تو گزارشم می خوام یه عکس از شخصی که اطلاعاتش رو چاپ می کنم بزارم.
عکس رو هارد ذخیره شده و آدرسش تو دیتابیس هست
باید از چه کنترلی تو گزارشم استفاده کنم و چه کدی براش بنویسم که عکسش بیاد تو گزارش؟
با تشکر
Last edited by aliaghaaaaa; 30-10-2013 at 11:54. دليل: اضافه کردن سوال
سلام
برای اینکه دو بخش detail مجزا داشته باشید میتوانید از امکان subreport استفاده کنید.
کافیست اول دو report مجزا برای برای فقط دو بخش مورد نظر درست کنید.
سپس در گزارش سوم که گزارش اصلی است با کمک فرمان rightclick>insert>subreport دو گذارشی را که قبلا ساخته اید بیاورید.
لازم بذکر است که ارتباط بین کلید گزارش اصلی و کلید خارجی ها در دو زیر گزارش از طریق فرم subreport links قابل تنظیم است.
موفق باشید.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)