PDA

View Full Version : درخواست کمک برای جمع کردن مقدار دو فیلد



babak869
چهارشنبه 19 اسفند 1383, 16:08 عصر
سلام کسی میتونه منو کمک کنه؟
من 1 مشکل کوچولو دارم و اون اینه که توی این بر نامه که دارم برای یه شرکت ساختمانی مینویسم در قسمت کارگر یا استادکار یا خرید مصالح ممکنه که 1 جنس رو با 1 اسم چند بار در چند تاریخ مختلف بخرند یا حقوق کارگر رو در چند مرحله در تاریخهای متفاوت بدند.حالا نمیدونم چطور برنامه رو بنویسم که بطور خودکار آخرین مبلغی رو که در فیلد total هست یعنی پول دریافتی با مبلغی که جدیدا در فیلد getmoney داره وارد میشه جمع کنه و در فیلد total جدید بنویسه.
مثلا اگه بار دومه که داره به کارگر پول میده وقتی در فیلد getmony مبلغ رو مینویسه
در فیلد total مبلغ قبلی با فعلی جمع بشه و در فیلد total نوشته بشه.
و اگه بار سومه که پول میده مبلغ فعلی با کل پولی که دوبار قبل گرفته با هم جمع بشه و در total نوشته بشه

من 1 مثال میزنم البته چون خونه نیستم و اینجا هم دلفی نصب نیست با نوت پد نوشتم ببخشید

************************************************** ********
Id Number 1
Shomareh Morajee 1
Name babak
Family amiri
Adress tehran-vanak
Statr Job 1381/11/21
End Job 1381/12/29
Get Money 25000
Total 25000
********************************************
Id Number 1
Shomareh Morajee 2
Name babak
Family amiri
Adress tehran-vanak
Statr Job 1382/11/21
End Job 1382/12/29
Get Money 10000
Total 35000
******************************************
Id Number 1
Shomareh Morajee 3
Name babak
Family amiri
Adress tehran-vanak
Statr Job 1383/11/21
End Job 1383/12/29
Get Money 15000
Total 50000
***************************
اگه بتونی کمکم کنی ممنون میشم نمیدونم با دستورات SQL میشه کاری کرد یا نه
یا اینکه 1 برنامه باشه که در رویداد Onenter یه Dbedit بنویسی که مثلا اگه
if edit1.text:='babak' and edit2.text:='amiri' and edit3.text:='3' then
اونوقت عددی که در Dbedit مربوط به فیلد getmoney هست رو بگیره و با فیلد total که id هون یکی از این id کمتره یعنی دفعه قبلی جمع کنه و در یه dbedit که مربوط به فیلد total با id شماره 3 هست ذخیره کنه.

babak869@yahoo.ca

vcldeveloper
شنبه 22 اسفند 1383, 02:38 صبح
من کاملا متوجه منظور شما نشدم...
اما حداقل اینو فهمیدم که مقادیر یک فیلد در رکوردهای مختلفی باید خونده بشه و مقادیر خونده شده با هم جمع بشند.
اگه قرار تمامی مقادیر فیلد total خونده بشند، می تونید به راحتی از دستور SUM در SQL خودتون استفاده کنید.
اگر قراره که فقط یکی دو تا از مقادیر فیلد total (از رکوردهای مختلف) خونده بشند، در این حالت رکورد جاری تغییر خواهد کرد، برای رفع این مشکل می تونید از Clone استفاده کنید (البته اگه از مجموعه کاپوننت های ADO استفاده می کنید).

alidll
شنبه 22 اسفند 1383, 08:10 صبح
با سلام به دوستان


UPDATE your_table
SET Total = Total + Get mony
WHERE ID = 1

:موفق:

arshia_
شنبه 22 اسفند 1383, 08:42 صبح
یه سوال....کلید اصلی که در نظر گرفته ای چیه؟
اگر رشته ای است که باید یه کم تغییرش بدی...
بهتره از یه عدد استفاده کنی که بتونی با چیزهایی مثل مثلا تاریخ پرداخت یه ابرکلید بسازی و به راحتی توی برنامه مقادیری رو که می خوای پیدا کن ی و جمع کنی ...