سلام جواب سوال اولم را خودم پیدا کردم لطفا یکی سوال دو م را پاسخ دهد
جواب را می نویسم تا دوستان دیگر هم بتوانند استفاده کنند:
برای فرستادن یک پارامتر به 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.textb ox1.text)
به همین راحتی
البته منبعی ندارم چون خودم از راه آزمون و خطا کشفش کردم