مشاهده نسخه کامل
: آموزش گزارش گیری در دلفی با Quick Report
آموزش گزارش گیری در دلفی با استفاده از Quick Report
شما به احتمال زیاد با این گزارش ها برخورد داشته اید به عنوان مثال : ریز مکالمات تلفن ، ریز نمرات ، صدور کارنامه و....
شما با استفاده از این ابزار در دلفی می توانید انواع گزارش ها را درست کرده و چاپ کنید
من فرض را بر این میگیرم که شخصی که این آموزش را می خونه برای بار اول است که می خواهد از این ابزار استفاده کنه بنابراین به صورت ساده و روان و به صورت خلاصه آن را آموزش می دم ، چون هر مطلبی همیشه ممکن است دارای اشکالاتی باشد ازاساتید محترم خواهش می کنم اگر در آموزش اشکالی را مشاهده کردند آن را مطرح کنند تا کاربرانی که از این آموزش استفاده می کنند دچار مشکل نشوند
شروع :
Quick Report به صورت پیش فرض در دلفی نصب نمی باشد و باید آن را به صورت دستی نصب کنید برای نصب باید به منوی Component بروید و سپس روی گزینه Install Packages کلیک کنید(شکل زیر):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و در پنجره بعدی روی دکمه Add کلیک کنید (شکل زیر):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در پنجره بعدی باید به شاخه Bin در دلفی بروید برای مثال اگر دلفی شما در درایو C نصب باشد این مسیر به صورت C:\Program Files\Borland\Delphi7\Bin می باشد.
در این شاخه روی dclqrt70.bpl کلیک کنید (شکل زیر)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سپس روی Open این پنجره وبعد روی دکمه Ok کلیک کنید
تا اینجا ما Quick Report رانصب کردیم
این ابزار الان به آخرین تب دلفی اضافه شده است (شکل زیر):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای ساختن یک فرم چاپ به این تب(QReport) بروید
یک کنترل QuickRep از این تب روی فرم قرار بدین
مهمترین خاصیت این کنترل ، خاصیت Bands آن می باشد
با استفاده از + کنار این خاصیت آن را گسترش دهید در شکل زیر این خاصیت ها به طور مختصر توضیح داده شده است:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کنترل های پرکاربرد تب QReport :
QRlabel : برچسب برای اطلاعات ثابت
QRDBText : اطلاعاتش را از دیتابیس می گیرد که دارای دو خاصیت است
DataSet : دیتابیس مورد نظر
DataField : فیلد مورد نظر
QRSysData : برای اتصال فرم چاپ به یکی از توابع سیستمی مثل ساعت ، تاریخ و... با استفاده از خاصیت Data ی آن
QRImage : برای عکس های ثابت (مثل آرم شرکت و...)
QRDBImage: عکس را از دیتا بیس می گیرد
خاصیت DataSet :
از خاصیت DataSet مربوط به QuickRep به دوصورت می توانید استفاده کنید
1- اتصال DataSet به جدول مورد نظر : در صورتی این خاصیت را به جدول مورد نظر خود وصل کنید که بخواهید تمامی اطلاعات را نمایش دهید به عنوان مثال تمامی مکالمات یک فرد در طول یک ماه
2- خالی گذاشتن خاصیت DataSet : در صورتی که بخواهید فقط اطلاعات یک نفر خاص را نمایش دهید به عنوان مثال نمایش مکالمات یک روز خاص ، مشترک
ادامه کار را با یک مثال ادامه می دهم
مقدار خاصیت HasColumnHeadr و HasDetail را به True تغییر دهید
بعد از این کار QuickRep شما به صورت شکل زیر در خواهد آمد
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
فرض کنید ما می خواهیم نام ، نام خانوادگی یک فرد را از جدول اول و نام کالا و قیمت کالا را از جدول دوم نمایش دهیم برای این کار:
چهار کنترل QRLabel در باند Column Header و چهار کنترل QRDBText روی باند Detail قرار دهید (شکل زیر)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حال Caption های QRLabel ها را به فیلد های مورد نظر خود تغییر دهید برای این مثال ما آنها را نام ، نام خانوادگی ، نام کالا و قیمت کالا قرار می دهیم (شکل زیر)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حالا باید QRDBText ها را به فیلد های مورد نظر وصل کنیم
برای این کار روی QRDBText1 کلیک و خاصیت DataSet را به جدول مورد نظر، برای مثال AdoTable1 وصل می کنیم و خاصیت DataField آن را به فیلد مورد نظر، در این مثال Name قرار می دهیم ، برای نام خانوادگی نیز به همین ترتیب عمل می کنیم
برای QRDBText 3 که آن را برای نام کالا در نظر گرفته ایم DataSet آن را به جدول مربوط به کالا ها ، برای مثال AdoTable2 وصل کنیم و DataField آن را به فیلد مورد نظر از این جدول وصل کنیم در این مثال آن را به KName (نام کالا ) وصل می کنیم و برای قیمت نیز به همین ترتیب عمل می کنیم
تا اینجا 98 درصد کارتموم شده فقط مونده چه طور این اطلاعات را نمایش بدهیم برای این کار یک Button روی Quick Rep یا روی فرم قرار بدین بعد کد زیر را داخلش بنویسید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا برنامه رو اجرا و روی Button کلیک کنید می بینید اطلاعات مربوطه نمایش داده می شود
برای چاپ (پرینت ) نیز می توانید از کد زیر استفاده کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
siamak5561
20-12-2009, 23:18
سلام به این روش که گفته شده عمل کردم ولی فقط ردیف اول تیبلم رو نشون میده ، من لازم دارم که همش رو نشون بده البته من از TTable تب BDE استفاده می کنم نه ADO table ممنون میشم سریع راهنماییم کنید.
F A R H A D
21-12-2009, 15:12
سلام. خاصیت DataSet عنصر QuickRep رو هم مقدار دهی کنید
من در قسمت bin آن فايل رو ندارم چه كار كنم
كمك كنييييييييييييييييييييييي يييييييييييييييييييد
F A R H A D
01-04-2010, 15:23
دلفی رو از جای دیگر تهیه کنید و نصب کنید
darya_66_12_12
11-04-2010, 22:20
سلام دوستان
من اين كارييي كه برا گزارش گيريي نوشتيدو كردم
ولي 1 مشكل دارم ميخوام شرط بزارم كه 1 محدوده اي از ركوردامو بده نه همشووو
شرطمو تو 1 دي بي گريد گزاشتم و نشونش ميدم ولي ميخوام حالا همين ركوردايي كه تو دي بي گريده بره تو گزارشم اينجاشوو بلد نيستم
راهنمايييم كنيييد لطفا
مرد مباح
13-04-2010, 08:34
باید Data مرتبط به گزارش رو باید مطابق شرط خاصی فیلـر کنی.
Emdad2001
16-04-2010, 08:22
آموزش گزارش گیری در دلفی با استفاده از Quick Report
شما به احتمال زیاد با این گزارش ها برخورد داشته اید به عنوان مثال : ریز مکالمات تلفن ، ریز نمرات ، صدور کارنامه و....
شما با استفاده از این ابزار در دلفی می توانید انواع گزارش ها را درست کرده و چاپ کنید
من فرض را بر این میگیرم که شخصی که این آموزش را می خونه برای بار اول است که می خواهد از این ابزار استفاده کنه بنابراین به صورت ساده و روان و به صورت خلاصه آن را آموزش می دم ، چون هر مطلبی همیشه ممکن است دارای اشکالاتی باشد ازاساتید محترم خواهش می کنم اگر در آموزش اشکالی را مشاهده کردند آن را مطرح کنند تا کاربرانی که از این آموزش استفاده می کنند دچار مشکل نشوند
شروع :
Quick Report به صورت پیش فرض در دلفی نصب نمی باشد و باید آن را به صورت دستی نصب کنید برای نصب باید به منوی Component بروید و سپس روی گزینه Install Packages کلیک کنید(شکل زیر):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
و در پنجره بعدی روی دکمه Add کلیک کنید (شکل زیر):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
در پنجره بعدی باید به شاخه Bin در دلفی بروید برای مثال اگر دلفی شما در درایو C نصب باشد این مسیر به صورت C:\Program Files\Borland\Delphi7\Bin می باشد.
در این شاخه روی dclqrt70.bpl کلیک کنید (شکل زیر)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سپس روی Open این پنجره وبعد روی دکمه Ok کلیک کنید
تا اینجا ما Quick Report رانصب کردیم
این ابزار الان به آخرین تب دلفی اضافه شده است (شکل زیر):
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای ساختن یک فرم چاپ به این تب(QReport) بروید
یک کنترل QuickRep از این تب روی فرم قرار بدین
مهمترین خاصیت این کنترل ، خاصیت Bands آن می باشد
با استفاده از + کنار این خاصیت آن را گسترش دهید در شکل زیر این خاصیت ها به طور مختصر توضیح داده شده است:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام . ولی تو دلفی 2009 همچین چیزی رو نداره باید چیکار کنم
darya_66_12_12
19-04-2010, 21:02
با سلام
من 1 مشكل دارم به همين روش گزارش گيري كردم خووب
بعد مشكلم اينه كه هرچي تو دي بي گريدمهه رو نشون نميده فقط به تعداد اون ركورداي تو دي بي گريدم ركورد اولمو نشون ميده ركورد اولي مه تو جدولمه يعنيي توو دي بي گريدم هر چي باشه كاري نداره ميرهه به تعدادش ركورد اول جدولمو تكرار ميكنه:41:
اميد وارم متوجه سوالم شده باشيد ممنون ميشم جوابم بدين:11:
pourya_lover
20-04-2010, 01:49
با سلام
من فکر مdکنم شما اون قسمت hasDetali به نحوی تا آخر صحفه گزارشتون کش آوردین یعنی hegth اونو زیاد کردین چون خودم قبلا این مشکل رو داشتم شما قسمت hasdetali رو حذف کنید و یکبار دیگه ایجاد کنید و سعی کنید فیلداتون دقیق داخل این قسمت باشه یعنی از کادرش بیرون نیاد موفق باشین
می خواهم یک گزارش با quick بگیرم.
فقط می خواهم قبلش مثلا در یک edit نام مشتری یا شماره مشتری وارد بشه و بعد بر اساس آن فیلد از اطلاعات خرید مشتری گزارش تهیه کنم؟
لطفا کمک کنید .!!!
pourya_lover
24-04-2010, 02:23
قبل هر چی معذرت میخوام واسه این همه پست تکراری نت و سیستمم قاط زده بود و اینجوری پیش اومد
خوب دوست عزیز این به گزارش ربط نداره گزارش برای نمایش نهایی دستورات شماست شما باید تو دلفی دستوراتتون رو برای جستجو جدولتون با شماره ی وارده در edit تون انجام بدین بعد در نهایت در گزارش نتیجه مربوطه رو نمایش بدید شما تایپیکهای دوستان چون مرد مباح و فرهاد جان و بقیه که در مورد sql و دیتا بیسها و غیره هست رو مطالعه کنید به نتیجه ای که می خواید خواهید رسید
سلام.
من با quick کار میکنم (در دلفی7)و می خواهم به دو صورت گزارش بگیرم :
1- وقتی شخص مثلا در فرم 1 ، نام . فامیل و... را وارد کرد اگر بیش از یک مورد پیدا کرد ابتدا همه ی آن موارد را نشان بده و بعد که کاربر گزینه(نام یا فامیل یا ...) مورد نظرش را انتخاب کرد اطلاعات آن شخص در گزارش نشان داده بشه. مثلا اگر یک گزینه را انتخاب کرد اطلاعات خرید آن شخص در صفحه ی دوم که صفحه ی گزارش است نشان داده شود.
2- ابتدا صفحه ی دوم را که قرار است گزارش در آن نمایش داده شود به صورت یک فرم طراحی شود و بعد که کاربر اطلاعات شخص را وارد کرد(در فرم1) ، اطلاعات شخص در فرم 2 گزارش داده شود البته به صورت یک فرم طراحی شده (مثل فرم های عضویت).
تشکر.
سلام.
من با quick کار میکنم.
من در یک فرم یکسری جستجو انجام دادم که جواب آن را در یک dbgrid نشان می دهد .حالا می خواهم از این دیبی گرید در یک فرم دیگه(فرم گزارش) گزارش تهیه کنم.
مشکل اول در طراحی فرم گزارش است چون نمی دانم که مثلا اسم در کجا قرار بگیره .
مشکل دوم در ارتباط دادن این دیبی گرید به گزارش است.چون در dataset ما به جدول وصل می شویم ولی حالا یک دیبی گرید است.
سلام.
یک سوال دیگه هم داشتم.
چطوری می شه فرم گزارش که quick در آن قرار دارد را طراحی کرد.
مثلا طرح یک فاکتور یا .....
و اینکه آیا لینک یا آموزش به صورت pdf جایی هست که آموزش quick به همراه کنترل هایش را به طور کامل داشته باشه؟
تشکر.
pourya_lover
28-05-2010, 11:06
سلام a-soft عزیز
برای طراحی در کویک از کامپوننت qrshape باید استفاده کنی و خاصیت shape اونو تغییر بدی و فاکتورتو تغییر بسازی من آموزش جالبتر از این در مورد کویک ندیدم
موفق باشی
disert_falcon
21-08-2010, 09:46
سلام دوستان
روشی که گفتین کللللللی از مشکلاتمو حل کرد اما همین مشکلی که دریا مطرح کرد رو منم دارم
ممنون میشم اگه بگین شرط فیترینگ رو کجا بذارم:11:
disert_falcon
21-08-2010, 09:56
سلام دوستان
روشی که گفتین کمکه زیادی بهم کرد ولی منم مشکل دریا رو دارم
و ممنون می شم اگه بگین چطور میشه تو اجرا مستقیم از فرم قبلی به QuickRep.Preview رفت و فرم مربوط به ساخته شدن اون رو ندید:11:
kimia1367
09-12-2010, 01:00
کنترل های پرکاربرد تب QReport :
QRlabel : برچسب برای اطلاعات ثابت
QRDBText : اطلاعاتش را از دیتابیس می گیرد که دارای دو خاصیت است
DataSet : دیتابیس مورد نظر
DataField : فیلد مورد نظر
QRSysData : برای اتصال فرم چاپ به یکی از توابع سیستمی مثل ساعت ، تاریخ و... با استفاده از خاصیت Data ی آن
QRImage : برای عکس های ثابت (مثل آرم شرکت و...)
QRDBImage: عکس را از دیتا بیس می گیرد
خاصیت DataSet :
از خاصیت DataSet مربوط به QuickRep به دوصورت می توانید استفاده کنید
1- اتصال DataSet به جدول مورد نظر : در صورتی این خاصیت را به جدول مورد نظر خود وصل کنید که بخواهید تمامی اطلاعات را نمایش دهید به عنوان مثال تمامی مکالمات یک فرد در طول یک ماه
2- خالی گذاشتن خاصیت DataSet : در صورتی که بخواهید فقط اطلاعات یک نفر خاص را نمایش دهید به عنوان مثال نمایش مکالمات یک روز خاص ، مشترک
ادامه کار را با یک مثال ادامه می دهم
مقدار خاصیت HasColumnHeadr و HasDetail را به True تغییر دهید
بعد از این کار QuickRep شما به صورت شکل زیر در خواهد آمد
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
فرض کنید ما می خواهیم نام ، نام خانوادگی یک فرد را از جدول اول و نام کالا و قیمت کالا را از جدول دوم نمایش دهیم برای این کار:
چهار کنترل QRLabel در باند Column Header و چهار کنترل QRDBText روی باند Detail قرار دهید (شکل زیر)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حال Caption های QRLabel ها را به فیلد های مورد نظر خود تغییر دهید برای این مثال ما آنها را نام ، نام خانوادگی ، نام کالا و قیمت کالا قرار می دهیم (شکل زیر)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
حالا باید QRDBText ها را به فیلد های مورد نظر وصل کنیم
برای این کار روی QRDBText1 کلیک و خاصیت DataSet را به جدول مورد نظر، برای مثال AdoTable1 وصل می کنیم و خاصیت DataField آن را به فیلد مورد نظر، در این مثال Name قرار می دهیم ، برای نام خانوادگی نیز به همین ترتیب عمل می کنیم
برای QRDBText 3 که آن را برای نام کالا در نظر گرفته ایم DataSet آن را به جدول مربوط به کالا ها ، برای مثال AdoTable2 وصل کنیم و DataField آن را به فیلد مورد نظر از این جدول وصل کنیم در این مثال آن را به KName (نام کالا ) وصل می کنیم و برای قیمت نیز به همین ترتیب عمل می کنیم
تا اینجا 98 درصد کارتموم شده فقط مونده چه طور این اطلاعات را نمایش بدهیم برای این کار یک Button روی Quick Rep یا روی فرم قرار بدین بعد کد زیر را داخلش بنویسید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا برنامه رو اجرا و روی Button کلیک کنید می بینید اطلاعات مربوطه نمایش داده می شود
برای چاپ (پرینت ) نیز می توانید از کد زیر استفاده کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام. خواهشا يكي زودتر به منه تازه وارد راهنمايي كنه!!!!آخه چرا هيچ كدوم از عكسها باز نميشه؟؟؟مرجعش چه سايتيه؟؟؟
مرسي.
مرد مباح
11-12-2010, 15:57
دوست عزیز. پست خیلی قدیمی هستش.
ولی اگه به مشکلی خوردی همیجا مطرح کن تا توضیح بدیم و اگه بشه کار شما هم راه بیفته.
alirezadd
17-08-2011, 13:36
codenevisi baraye ghesmate didan eteghaat ghab az print dar q.report ro age mishe bezarin mamnon misham
alirezadd
17-08-2011, 17:08
من تازگی عضو شدم ولی از کاری که راه انداختین خیلی خوشم اومد دمتون گرم
ALI110120
31-05-2016, 08:19
کد ها باز نمیشوند
ALI110120
31-05-2016, 08:20
چاپ در دلفی با QREPORT را بامثال و کد نیاز داریم
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.