PDA

نسخه کامل مشاهده نسخه کامل : مشکل با crystal reports در vb.net



aki66
13-07-2011, 10:31
سلام به همه دوستان برنامه نویس
من یه برنامه application به زبان vb.net نوشتم حال می خواهم با برنامه CrystalReport مربوط به visual studio گزارش درست کنم.
ازطرفی برنامم قراره بعدا تحت شبکه هم بشود.
سوال من این هست چی جوری می شود مثلا شماره کارمندی که می خواهیم ازش گزارش تهیه کنیم را به CrystalReport ارسال کنیم؟؟
می دونم از طریق فیلد پارامتر این کار امکان پذیره ولی من می خواهم این شماره از طریق یک فرم که شماره را از کاربر می گیرد انجام دهم
یک راه دیگه هم که رفتم جواب نداد این بود که یک جدول در پایگاهم درست کردم که این شماره را نگه دارد ولی این کار زمانی جواب می ده که برنامه تک نفره استفاده شود
اگر راه دیگری دارد خواهشا منو راهنمایی کنید.
سوال بعدی این هست که عکس کارمندم آدرسش در پایگاهم ذخیره شده راه نمایش این عکس را هم در گزارش نمی دونم.(پایگاهم sql2000)
ممنون می شم اگه جوابم را بدهید چون فقط همین یک قسمت برنامم مونده:11:

aki66
19-07-2011, 10:46
سلام جواب سوال اولم را خودم پیدا کردم لطفا یکی سوال دو م را پاسخ دهد
جواب را می نویسم تا دوستان دیگر هم بتوانند استفاده کنند:
برای فرستادن یک پارامتر به 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)
به همین راحتی
البته منبعی ندارم چون خودم از راه آزمون و خطا کشفش کردم