PDA

View Full Version : باز كردن اكتيو ريپورت با پارامتر



hamed2661
دوشنبه 27 خرداد 1387, 07:52 صبح
سلام دوستان
سئوال من اينه كه چه جوري از مقادير توي تكست باكسهاي يك پنجره به عنوان پارامترهاي Sql Statement اكتيوريپورت استفاده كرد . مثلاً با گرفتن كد يك مشتري خريدهاشو ليست كنه؟
به عنوان مثال كد زير رو هم توي سورس ado نوشتم و هم تو رويداد OnReportStart باز در هر بار ارور داد:


select * from main_tbl where id=forms!form1.text1.text
يا
select * from main_tbl where id=form1.text1.text

در هر مورد با عوض كردن علامت ! يا . هم نتيجه اي نگرفتم .
مقدار تكست باكس رو توي يه متغير public ريختم بازم فايده اي نكرد. ممنون ميشم راهنمائي كنيد.

f.nabavi
دوشنبه 27 خرداد 1387, 08:27 صبح
سلام. میشه دقیقا بگی ارور چی بوده؟ در ضمن این کد رو هم امتحان کن:

"select * from main_tbl where id =' " & form1.text1.text & " ' "
اگر id یه عدد باشه ' رو نذار.

hamed2661
دوشنبه 27 خرداد 1387, 08:30 صبح
ممنون جناب نبوي چك ميكنم جواب ميدم خدمتتون.

hamed2661
دوشنبه 27 خرداد 1387, 10:30 صبح
تست كردم در هر صورت ( با حذف ' يا بودنش )‌ اين پيغام رو ميده:


Error 5000 : Error in processing report.
[ Extended Info:Line 1: Incorrect syntax near '&'.]

hrj1981
دوشنبه 27 خرداد 1387, 10:39 صبح
اگر فيلد id شما عدد باشد مي توانيد كد خودتان را بدين صورت بنويسيد

"select * from main_tbl where id = " & (form1.text1.text )

hamed2661
دوشنبه 27 خرداد 1387, 10:42 صبح
ضمناً اگه توي رويداد OnReportStart هم نوشته بشه خطاي Object required 'form1' رو ميده در حالي كه فرم يك هست و بازه!!

hamed2661
دوشنبه 27 خرداد 1387, 10:48 صبح
اگر فيلد id شما عدد باشد مي توانيد كد خودتان را بدين صورت بنويسيد

"select * from main_tbl where id = " & (form1.text1.text )


دوست عزيز ممنون از توجهتون . ولي با اين كد هم بازم همون ارور رو داد

hrj1981
دوشنبه 27 خرداد 1387, 10:51 صبح
اون فاصله بين text و پرانتز آخر نبايد باشد .

soheil_programmer
دوشنبه 27 خرداد 1387, 13:46 عصر
با سلام

مشکل سر اون UnderLine در نام Table هست که من هم قبلاً برخورد کرده بودم در ضمن اینجور وقتها نام Table را هم در کروشه بزار و امتحان کن. البته الان مشکل فقط سر همون UnderLine است!!!

امتحان کردی جوابش را هم در همین تاپیک بزار مطلع شیم...

hamed2661
دوشنبه 27 خرداد 1387, 16:24 عصر
نه عزيز اسم تيبل رو هم عوض كردم ولي نشد. دست به دامن يه كد ديگه شدم كه البته از سمپل هاي خود اكتيو ريپورته . دارم كد اونو اصلاح مي كنم كه از به جاي جت انجين از sql server استفاده كنم . خدا خواست و درست شد فردا ْآپ مي كنم با هم بررسيش كنيم.