PDA

View Full Version : مبتدی: عمليات محاسباتي طبق فرمول



hamide-b
سه شنبه 22 مرداد 1392, 06:57 صبح
با سلام و درود خدمت اساتيد و مديران انجمن برنامه نويس...
بنده در پي ساخت يک پروژه هستم که ،
قراره با گرفتن اطلاعات فيش حقوقي يک کارمند ، (طبق يک فرمولي که سالانه تغير ميکنه )
برگه ماموريتي چاپ شود !
براي مثال:
اطلاعات فیش حقوقی یک شخص شامل 10 یا 15 مقدار هستش(ماخذ کل / ج دریافتی / حق شغل و...)
حالا ما باید یک برگه ماموریت با توجه به فرمول درست کنیم :
فرمول (مثلا ):

ماخذ کل + دریافتی * 1256(حق شغل + اضافه کاری + 6582) = هزینه ها
هزینه ها + مسافت = مقدار پایانی

بنده الان در حقیقت گیرم همین اشاره به همین خانه های دیتابیس هستش... ممنونتون میشم منو راهنمایی کنید ....
مرسی :لبخند:

Mr'Jamshidy
سه شنبه 22 مرداد 1392, 09:07 صبح
با سلام و درود خدمت اساتيد و مديران انجمن برنامه نويس...
بنده در پي ساخت يک پروژه هستم که ،
قراره با گرفتن اطلاعات فيش حقوقي يک کارمند ، (طبق يک فرمولي که سالانه تغير ميکنه )
برگه ماموريتي چاپ شود !
براي مثال:
اطلاعات فیش حقوقی یک شخص شامل 10 یا 15 مقدار هستش(ماخذ کل / ج دریافتی / حق شغل و...)
حالا ما باید یک برگه ماموریت با توجه به فرمول درست کنیم :
فرمول (مثلا ):

ماخذ کل + دریافتی * 1256(حق شغل + اضافه کاری + 6582) = هزینه ها
هزینه ها + مسافت = مقدار پایانی

بنده الان در حقیقت گیرم همین اشاره به همین خانه های دیتابیس هستش... ممنونتون میشم منو راهنمایی کنید ....
مرسی :لبخند:

کدوم دیتابیس؟
تا جایی که من میبینم شما اشاره ای به دیتابیس نداشتید

برای فرمول هم شما میتونید برای هر متغیر یک شناسه قرار بدید و در برنامه تبدیل کنید و برای این که هر بار كه فرمول عوض شد نیازی به کامپایل مجدد نداشته باشید میتونید از کامپوننت Microsoft Scripting Runtime استفاده کنید

hamide-b
سه شنبه 22 مرداد 1392, 10:19 صبح
ممنونم از پاسخ شما...
دیتا بیس اکسس هستش...
بعد از این که مشخصات یک کارمند رو که حالا شامل اطلاعات فیش حقوقی هم هست وارد سیستم میکنیم...
حالا نوبت به صدور برگه ماموریت به همون ترتیبی که عرض کردم هستش...
من میخواستم بدونم چه طوری با توجه به فرمول رکورد های دیتابیس رو با هم جمع یا ضرب و... بکنیم و در برگه گزارش بیاریم و چاپ...
:افسرده:

vbhamed
سه شنبه 22 مرداد 1392, 23:32 عصر
سلام
از منوي Project گزينه References آيتم Microsoft Script Control رو انتخاب كنيد (منظور Mr'Jamshidy عزيز هم همين آيتم بوده)
نمونه استفاده به صورت زير هست كه مي‌تونيد به جاي اعداد داده شده و فرمول فرضي، مقادير فيلدها رو با فرمول دلخواه قرار بدين و نتيجه رو استفاده كنيد
Dim x As New ScriptControl
x.Language = "vbscript"
MsgBox x.Eval("2+3+75*sqr(64)/7*sin(130*3.14/180)")

امین مستانی
چهارشنبه 23 مرداد 1392, 02:19 صبح
سلام

این تابع هم میتونه کمکتون کنه

http://barnamenevis.org/showthread.php?364042-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D9%85%D9%82%D8%AF%D8%B1-%D9%88%D8%B1%D9%88%D8%AF%DB%8C&p=1606951&viewfull=1#post1606951

موفق باشید

hamide-b
چهارشنبه 23 مرداد 1392, 07:04 صبح
سلام
از منوي Project گزينه References آيتم Microsoft Script Control رو انتخاب كنيد (منظور Mr'Jamshidy عزيز هم همين آيتم بوده)
نمونه استفاده به صورت زير هست كه مي‌تونيد به جاي اعداد داده شده و فرمول فرضي، مقادير فيلدها رو با فرمول دلخواه قرار بدين و نتيجه رو استفاده كنيد
Dim x As New ScriptControl
x.Language = "vbscript"
MsgBox x.Eval("2+3+75*sqr(64)/7*sin(130*3.14/180)")

سلام ممنوم که پاسخ دادید ، ببینید من یک دیتا گراید دارم که توش لیست برگه های ماموریت کارمندا هستش و هیچ مشکلی هم نداره : دی
اما داستان اینه که هنگام جستجو لیست برگه ماموریت ها باید یک سری محاسبات با توجه به فرمول صورت بگیره... من یک اسکرین شات از لیست برگه ماموریت ها قرار دادم...
که کنار پنجره یک سری دکمه هایی داره که قراره عملیات های محاسباتی متفاوتی رو چاپ کنه ...
من در واقع نمیدونم چطوری باید این عملیات محاسباتی سر رکورد های دیتا بیس پیاده بشه ...
اگه در این باره یک نمونه قرار بدید ممنون میشم ...

m.4.r.m
چهارشنبه 23 مرداد 1392, 11:07 صبح
ای بابا ساده تر از این که دیگه چیزی نیست بچه میگن از Runtime استفاده کن اما من میگم راحت تر از اون هست چون شما قبل از اینکه اقدامی به فرمول بکنی باید جست و جو رو بر اساس کد پرسنلی انجام بدی سپس فرمول را جا گذاری کنی خوب زیاد سخت هم نیست اما اگه سورس یا نمونه سورس رو به بنده برسونی من می تونم برات حلش کنم . چون توضیحاتی که سرکار خانم در ابتدا داده بودی در اسکرین شات شما قابل مشاهده نیست . ولی می تونم کمکتون کنم سورس رو به صورت پ . خ بفرستین درستش کنم براتون . موفق باشید