PDA

View Full Version : سوال: 'Run-time error '3705



essi_3225
پنج شنبه 30 آبان 1387, 20:17 عصر
با سلام لطفاً يك جواب فوري به من بديد متشكرم.


من يك برنامه بانك اطلاعاتي نوشتم و براي گزارشگيري بين دو تاريخ به اين شكل استفاده كردم:


select * from table1
where tarikho between label11.caption andlabel12.caption



اين دستور رو در SQL Statement در يك كامند نوشتم.


و براي فراخواني در فرم اين دستور رو نوشتم:


DataEnvironment2.Command4Label11.Caption, Label12.Caption
DataReport10.Show


از طريق دو ليبل تاريخ اول و تاريخ دوم رو مي دم


تا اينجا درست كار ميكنه
مشكل من اينه كه : دفعه اول كه data report باز ميشه اطلاعات كاملاً درست نمايش داده ميشه ولي در همان جا اگر دوباره data report رو بخواهي باز كني اين پيغام رو ميده :


---------------------------------------------------------
Run-time error '3705
operation is not allowed when the object is open
---------------------------------------------------------

ولي اگه از برنامه بري بيرون و دوباره اجرا كني درست ميشه
اصولا تغييراتي كه در ركورد ها اعم از اضافه حذف و ... رو روي data report اعمال نميشه و بايد يك بار از نرم افزار بيرون و دوباره فراخواني كني :متعجب::متعجب:



لطفاً بگيد مشكل از كجاست متشكرم
http://tbn0.google.com/images?q=tbn:YPNGMZS7xJd37M:http://perso.orange.fr/visual.basic/vb6.gif

Pr0grammer
پنج شنبه 30 آبان 1387, 23:53 عصر
select * from table1
where tarikho between label11.caption andlabel12.caption
منظورتون اینه که اینطوری نوشتید دیگه؟


"select * from table1
where tarikho between" & label11.caption & "and " & label12.caption

اگه اون طوری نوشتید، احتمالاً اشتباهه! در ضمن فکر کنم مقادیر غیر عددی رو قبول نکنه! مثلاً باید بین 5 تا 10 باشه! نه بین "علی" تا "رضا" !!!! اگه این درست باشه باید مطمئن باشید Caption برچسبهاتون (Label) عددی هستش و می تونید اینطوری استفاده کنید:


"select * from table1
where tarikho between" & val(label11.caption) & "and " & val(label12.caption)

essi_3225
جمعه 01 آذر 1387, 16:47 عصر
خيلي متشكرم آقا Reza_PrOgrammer من اين رو امتحان ميكنم ولي شما بايد بدونين كه اين روش من درست كار ميكنه .
در اصل من با ديتا ريپورت ويژوال بيسيك مشكل دارم . آخه دفعه اول كار ميكنه بدون مشكل ولي دوباره كه ديتا ريپورت رو فراخواني كني اين Error رو ميده .