PDA

View Full Version : چگونه میتوان با یک dataset و یک report گزارشهای مختلف ساخت؟



AH_eftekhari
شنبه 21 بهمن 1385, 01:08 صبح
برنامه هایی را دیده‌ام که با استفاده از پرس و جوهایی جداول و نام فیلدهای در خواستی دیتابیس برنامه را گرفته و سپس شرطها و گروه بندیهای خواسته شده را اعمال میکنند ودرآخر یک عبارت SQL می‌سازند و سپس این SQL را به یک ریپورت ارسال میکنند . سوال من این است که
1- این ریپورت چگونه طراحی شده است که در هر دفعه فیلدها و لیستهای متنوع را نمایش می دهد ؟
2- با این شرط چه جوری dataset به ریپورت ارسال می‌شود در حالیکه هر دفعه ساختار فیلدهای dataset تغییر میکند؟
3- آیا با fastreport می شود چنین گزارشهایی را ساخت ؟ (چگونه؟؟؟؟)

mehdi_mohamadi
شنبه 21 بهمن 1385, 14:14 عصر
خیلی کار راحتیه؟ فقط زمان بر هستش.
شما از یه query استفاده کن. و برنامه رو طوری طراحی کن که وقتی کاربر چند شرط را به کار می بره دستورات sql را ایجاد کنی و به query اعمال کنی.
من خودم دارم روش کار می کنم.جواب هم داده. به محض اینکه برنامه رو تموم کردم اینجا آپلودش می کنم.

AH_eftekhari
یک شنبه 22 بهمن 1385, 00:19 صبح
با سلام
آقا مهدی متشکرم .
مشکل من این است که نمیدانم این query را که ساختم [ در فرم مثلا در یک dbgrid قرار دادم آن را دارم می بینم] ازچه طریقی به ریپورت بفرستم و آن را ببینم . چونکه در هر مرتبه گزارش تعداد فیلدهای انتخابی توسط کاربر فرق میکند و نمیشه از یک گزارش ایستا استفاده کرد .
چیزی شبیه به ویزارد گزارش ساز در اکسس که در آخر گزارش را مثلا بصورت لیستی می سازد .:متفکر:
امیدوارم منظورم را توانسته باشم برسانم .

mehdi_mohamadi
یک شنبه 22 بهمن 1385, 08:17 صبح
نمی دونم شما با سیستم همکاران سیستم کار کرده اید یا نه. در این سیستم نرم افزار گزارش ساز وجود داره که دقیقا" کاری که شما می خواهید انجام می ده.
شما فقط کافیه که ریپورت را به query وصل کنید و عملیات فیلتر کردن را توسط query انجام بدید.
موفق باشید.
--------------------------------
www.ICSystem.ir

mehdi_mohamadi
یک شنبه 22 بهمن 1385, 08:19 صبح
اگه مشکلی داشتی با من تماس بگیر.
-------------------------------
www.ICSystem.ir (http://www.ICSystem.ir)
09122567926

taha2005
یک شنبه 29 بهمن 1385, 11:56 صبح
منم دقیقا همین مشکل رو دارم یعنی query رو دارم نمی دونم چطوری با report ارتباطش بدم
اگه به من هم کمک کنید ممنون می شم

mehdi_mohamadi
یک شنبه 29 بهمن 1385, 14:25 عصر
منم دقیقا همین مشکل رو دارم یعنی query رو دارم نمی دونم چطوری با report ارتباطش بدم
اگه به من هم کمک کنید ممنون می شم
من نمی دونم مشکل شما چیه که نمی تونید ارتباط برقرار کنید.
اگه تماس بگیرید یا مشکلتون رو واضح تر بگید سعی میکنم جوابتون رو بدم

mzjahromi
یک شنبه 29 بهمن 1385, 14:39 عصر
برنامه هایی را دیده‌ام که با استفاده از پرس و جوهایی جداول و نام فیلدهای در خواستی دیتابیس برنامه را گرفته و سپس شرطها و گروه بندیهای خواسته شده را اعمال میکنند ودرآخر یک عبارت SQL می‌سازند و سپس این SQL را به یک ریپورت ارسال میکنند . سوال من این است که
1- این ریپورت چگونه طراحی شده است که در هر دفعه فیلدها و لیستهای متنوع را نمایش می دهد ؟
2- با این شرط چه جوری dataset به ریپورت ارسال می‌شود در حالیکه هر دفعه ساختار فیلدهای dataset تغییر میکند؟
3- آیا با fastreport می شود چنین گزارشهایی را ساخت ؟ (چگونه؟؟؟؟)
برای انجام این کار با کوئیک ریپورت راههای زیر رو باید طی کنید
1- یه تابع به صورت زیر در فرمی که QR روشه تعریف کنید


var
Q:TQuery;
begin
q:=TQuery.Create(self)
Q.DataBaseName:=...
Q.SQL:=Youy Passed SQL;

2- برای کوئیک ریپورتت به اندازه تعداد فیلدهای کوئری QrLabel و QRDBText معرفی میکنید و DataSet اونها رو همون Q می گذارید.

اینهائی که گفتم فقط دید کلی بود و شاید با اینها نشه اونی که میخواهید رو ساخت ولی
شما شروع به کار کنید هر کجاش مشکل داشتید بپرسید