PDA

View Full Version : سوال: مشکل با crystal reports در vb.net



akram23
پنج شنبه 23 تیر 1390, 08:28 صبح
سلام به همه دوستان برنامه نويس
من يه برنامه application به زبان vb.net نوشتم حال مي خواهم با برنامه CrystalReport مربوط به visual studio گزارش درست کنم.
ازطرفي برنامم قراره بعدا تحت شبکه هم بشود.
سوال من اين هست چي جوري مي شود مثلا شماره کارمندي که مي خواهيم ازش گزارش تهيه کنيم را به CrystalReport ارسال کنيم؟؟
مي دونم از طريق فيلد پارامتر اين کار امکان پذيره ولي من مي خواهم اين شماره از طريق يک فرم که شماره را از کاربر مي گيرد انجام دهم
يک راه ديگه هم که رفتم جواب نداد اين بود که يک جدول در پايگاهم درست کردم که اين شماره را نگه دارد ولي اين کار زماني جواب مي ده که برنامه تک نفره استفاده شود
اگر راه ديگري دارد خواهشا منو راهنمايي کنيد.
سوال بعدي اين هست که عکس کارمندم آدرسش در پايگاهم ذخيره شده راه نمايش اين عکس را هم در گزارش نمي دونم.(پايگاهم sql2000)
ممنون مي شم اگه جوابم را بدهيد چون فقط همين يک قسمت برنامم مونده:عصبانی++:

vb341
شنبه 25 تیر 1390, 21:51 عصر
این موضوع بارها در سایت مطرح شده . در ضمن کتابهای آموزش کریستال ریپورت هم هست که بطور نسبتا خوبی به شما کمک میکنه

akram23
یک شنبه 26 تیر 1390, 15:35 عصر
واقعا خسته نباشید:عصبانی:
من قبل از اینکه شما بگید 3تا کتاب خوندم که همش مباحث تکراری بود و این موارد توش ذکر نشد اینترنت و این سایت رو زیر و رو کردم خیلیا این مشکل رو داشتند یه جوابهاییم دیگران نوشته بودند ولی راستش من خیلی متوجه نشدم اگه منو راهنمایی کنید ممنون می شم :گریه:

teymoorei
یک شنبه 26 تیر 1390, 15:46 عصر
سلام دوست عزیز
من خیلی وقته که با Crystal کار نمی کنم اما این رو بگم خیلی جالب نیست کار کردن با برنامه ی Crystal البته ببخشید رک حرفم رو زدم .
من پیشنهاد می کنم از StimulSoft استفاده کنید منم می تونم تو این زمینه کمکتون کنم .
اگه Stimul 2011 رو من دارم بدون ک/ر/ک براتون آپلود می کنم .
کد برنامه شما رو هم می تونم براتون بزارم فکر نمی کنم چیز سختی باشه یه فیلتر سادس از DataBase
یاحق

akram23
دوشنبه 27 تیر 1390, 09:21 صبح
سلام من تا حالا با این برنامه که می گید کار نکردم اما اگه می گید بهتر از crystal هست دوست دارم باهاش کار کنم فقط چند تا چیزهست و اونم این که گزارشی که از این طریق تولید می شه بعدا در اتصال به برنامم به مشکل نمی خورم و یه چیز دیگه اگه برنامم رو ببرم رو یه کامپیوتر دیگه زمان واکشی اطلاعات از بانک مشکل در اتصالش پیش نمیاد(چون قراره به صورت شبکه ای روی چند کامپیوتر نصب شه)
و آخرین چیز اینکه من از این بزنامه هیچ چیز نمی دونم آیا رفرنس خوب البته به زبان فارسی تو این زمینه سراغ دارید؟
ممنونم

parsaid
دوشنبه 27 تیر 1390, 12:08 عصر
سلام
به نظر من هم یا از stimul استفاده کن و یا از fastreport

teymoorei
دوشنبه 27 تیر 1390, 19:23 عصر
سلام دوست عزیز
من هیچی نمی گم اما خودتون اگه یه تحقیق کوچیک بکنید متوجه میشید که تفاوت Stimul با Crystal تفاوت 1 به 100 هستش.
من خودم واسه برای یه پروژه ی نسبتا بزرگ نزدیک 3 ماه تحقیق کردم که از چی استفاده کنم .
بزرگترین مزیت Stimul سرعت و End User بودن اون هستش یعنی کاربر میتونه خودش هر طوری که خواست گزارشش رو تغییر بده . همچنین به چندین نوع گزارشتون رو میتونید Export کنید ، تازه زبانش فارسی هم میشه البته از سال 2010 به بعد این امکان فراهم شده ، برنامه نویسی براش قابل فهمه .
البته من چتد تا pdf فارسی براش دیدم اما رفرنش ها انگلیسی خیلی خیلی خوب هم داره .
بازم تصمیم با خودتونه
یاعلی

akram23
دوشنبه 27 تیر 1390, 19:54 عصر
بازم ممنون با اینکه فرصتم خیلی کمه و باید کارم رو تحویل بدم ولی با تعریف دوستان شروع می کنم تا stimul رو یاد بگیرم
فقط می شه قبل از اینکه من دنبال pdf تو این زمینه بگردم اگه شما چیزی رو مد نظر دارید که سریع بتونم یاد بگیرم بهم معرفی کنید انگلیسی هم بود مسئله ای نیست سعی می کنم یه کاریش بکنم خیلی خیلی ممنون
راستی من امروز خودم جواب سوال اولم رو توکریستال ریپورت با آزمون و خطا کشف کردم حالا برای دوستان دیگه می ذارم شاید بدردشون بخوره:
برای فرستادن یک پارامتر به crystalReport:
ابتدا گزارش مربوطه را ایجاد می کنیم و سپس یک فیلد پارامتر از سمت چپ در گزارش اضافه می کنیم مثلا به اسم sh1 و سپس یک فیلد formul در گزارش اضافه می کنیم و در آن چنین می نویسیم

{table name.fild name}={?sh1}
مثلا

{karmandan.sh_personeli}={?sh1}
بعد فیلد sh1 را روی گزار ش قرار می دهیم .
حالا به فرمی که می خواهیم گزار ش در آن قرار گیرد می رویم و ابزار crystalReportViewer را قرار داده و report sourceآن را تنظیم می کنیم فرض می کنیم نام گزارشی که در مرحله قبل ایجاد کردیم نامش crystalReport1 است حالا در فرم لود همین فرم چنین می نویسیم:

Me. crystalReport1.setparametervalue("sh1",مقدار مورد نظر که می خواهیم پاس کنیم)
اگر مثلا این مقدار از فرم قبل توسط یک text box به نام textbox1 از کاربر گرفته می شود و نام آن فرم هم مثلا form1 هست کد را به این صورت می نویسیم:

Me. crystalReport1.setparametervalue("sh1",form1.textbox1.text)
به همین راحتی

teymoorei
دوشنبه 27 تیر 1390, 22:28 عصر
سلام
خوشحالم که به این نتیجه ی خوب رسیدید .
به نظر من سایت خود استیمول بهترین مرجع میتونه باشه .
www.stimulsoft.com
اینم لینک ویدیو های آموزشی خود سایت استیمول که حجمش هم خیلی کمه : http://www.stimulsoft.com/Videos.aspx
اینم لینک مقالات آموزشی بسیار عالی سایت استیمول : http://www.stimulsoft.com/Documentation.aspx
راستی من خودم واسه گرفتن یه گزارش خوب خیلی سختی کشیدم چون کسی نبود کمکم کنه واسه همین خوشحال میشم تاجایی که از دستم برمیاد کمکتون کنم .

akram23
سه شنبه 28 تیر 1390, 10:08 صبح
یک دنیا ممنون از لطفتون اینا رو می خونم اگه جای مشکل داشتم حتما مزاحمتون می شم
در پناه حق