View Full Version : سوال: ایجاد تغییر بر روی کوئری بدون دسترسی مستقیم
Ali_Fallah
جمعه 27 آذر 1388, 12:07 عصر
با سلام
در کوئری یک فیلد از نوع عددی را ضرب در عددی کردیم
مثال FieldName*2
حالا چون عدد 2 هراز گاهی تغیر پیدا میکنه , میخواهم کاربر نتونه بطور مستقیم این عدد رو تغییر بده
(دسترسی مستقیم به کوئری)
به نظر شما راه اصولی چگونه هست؟
mehdi_fiz
جمعه 27 آذر 1388, 12:14 عصر
سلام دوست عزیز
شما می تونید داخل ماژول یک تابع ایجاد کنید و مقدار عددی 2 رو به آن اختصاص دهید و از این تابع داخل کوئری استفاده کنید
موفق باشید
dadsara
شنبه 28 آذر 1388, 08:27 صبح
سلام
ضمن تشکر از جناب Mehdi_fiz بنظر بنده راحت ترین راه این است که شما یک فیلد در سطح فرم قرار دهید و مقدار مورد نظر را داخل آن قرار دهید و آدرس آنرا در کوئری خود قرار دهید
SELECT Table1.a, Table1.b, [b]*[Forms]![Form6]![Text0] AS Expr1
FROM Table1;
nabeel
شنبه 28 آذر 1388, 09:42 صبح
سلام
با توجه به اينكه شما فرموديد :
میخواهم کاربر نتونه بطور مستقیم این عدد رو تغییر بده (دسترسی مستقیم به کوئری)
حالا با توجه به اين درخواست و دقت در پاسخهاي ارسال شده ، تنها راه حل شما ( در صورت نياز به استفاده از Query ) ، انتساب Record Source به صورت ديناميكي هستش ، اونهم از طريق SQL Statement ( انتساب در حين يك رويداد ، به طور مثال در رويداد On Open يك فرم )
البته استفاده از SQL Statement در ديتابيسهاي بزرگ ، تا حدودي سرعت رو كاهش ميده
دو راه حل ارائه شده از سوي عزيزان ، مشكل اوليه و مورد درخواست شما رو همچنان باز گذاشتن ، گو اينكه پاسخ تاپيك شماره 2 ، سيستمي تر هستش و منطقي تر و در فراخواني ثوابت ، موثرتر
شرايطي رو در داخل برنامه بوجود نياريد ، كه براي يك تغيير جزئي ( تغيير يك ضريب ) حتماً بايد خود برنامه نويس دست به كار بشه .
فقط يك توضيح : اين امكان وجود داره ، كه حتي Record Source يك فرم باز نيز از بيرون برنامه تغيير پيدا كنه ، اگه به دنبال اينگونه مسائلي ، جهت رفع نواقص امنيتي هستيد ، متاسفانه بايد گفت ، به كل موضوع رو فراموش بفرماييد .
يا علي
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.