PDA

View Full Version : ثبت تفاوت جمع دو ستون در ستون سوم



khoshblagh
دوشنبه 04 خرداد 1388, 08:17 صبح
با سلام خدمت دوستان
من یک جدول در بانک اکسس دارم که دارای3 فیلد است . میخواهم جمع فیلد اول و جمع فیلد دوم را بدست آورده و تفاضل آنها را در آخرین رکورد فیلد سوم ثبت نمایم . این کار را
با دستور sql چگونه باید انجام داد؟
متشکرم

merced
سه شنبه 05 خرداد 1388, 23:29 عصر
در مورد بدهكار / بستانكار / مانده قبلاً‌ بحث شده . مي توني جستجو كني .

ولي در مورد سوالت . چند راه است. كه دو تاش رو من مي گم
1- استفاده از union
2- تغيير ظاهر برنامه ات. لازم نيت توي grid مانده رو نشون بدي . يه Lable زير گريد بزار و اين كار رو بكن :چشمک:


توضيح: فيلد مانده رو توي همه ركوردها نشون مي دن كه در اكسس اين كار فقط با پيمايش و استفاده از جدول موقت امكانپذيره (تا جايي كه سواد من قد ميده)

ghabil
چهارشنبه 06 خرداد 1388, 01:50 صبح
update tablename set field3 = field2 + feild1

khoshblagh
چهارشنبه 06 خرداد 1388, 08:28 صبح
با تشکر از پاسختان
من گفتم اول جمع دو ستون به طور مجزا بدست آورده و در مرحله بعد تفاضل این دو جمع را در ستون سوم ثبت شود .

shahrokhkian
چهارشنبه 06 خرداد 1388, 09:55 صبح
Select Sum (field1),Sum (field2) From Table1

با دستور بالا جمع دو فیلد را داری . حالا کافی این دو را از هم کم کنی و در یک Lable نمایش دهی.

موفق باشی.

shervin farzin
چهارشنبه 06 خرداد 1388, 12:51 عصر
سلام
ببينيد اين برنامه هميني هست كه منظور شماست يا نه .
موفق باشيد .

khoshblagh
شنبه 09 خرداد 1388, 08:19 صبح
سلام
ببينيد اين برنامه هميني هست كه منظور شماست يا نه .
موفق باشيد .

با تشکر از جناب فرزین
برنامه شما در نوع خودش جالب و گویا بود . اما جناب فرزین فرض کنید جدول مورد نظر از قبل
اطلاعات ستون اول و ستون دوم آن با اعدادی پر شده است و شما فقط ملزم به مانده گیری در ستون سوم باشید ( یعنی در رکورد اول تفاوت دو ستون در ستون سوم که همان ستون مانده میباشد و رفتن به رکورد بعدی و این دفعه مانده ستون سوم رکورد قبلی به اضافه تفاوت
دو ستون رکورد فعلی و ثبت نتیجه در ستون سوم فعلی و الی آخر) در برنامه شما کاربر دو عدد را وارد میکند و نتیجه در ستون سوم ثبت میگردد. ولی در برنامه مورد نظر من از قبل تمام
ستونهای اول و دوم دارای اطلاعات بوده و فقط باید مانده گیری شود. ممنون میشوم در این مورد هم با مثالی راهنمایی نمایید. متشکرم

shervin farzin
شنبه 09 خرداد 1388, 11:10 صبح
سلام
در اين برنامه اول يه آرايه از مقادير فيلد ID در جدول ( كه فيلد كليد هست ) ساختم . بعد مقدار
Sum رو به ازائه هر ركورد آرايه از فرمول زير محاسبه ميشه :

Select sum(Field_2) - sum(field_1) as t from Table1 where id <= Current_Array_Record
موفق باشيد.

khoshblagh
شنبه 09 خرداد 1388, 11:34 صبح
با تشکر از جنابعالی
دقیقا من به دنبال همین روش بودم . جناب فرزین در فولدر ارسالی شما فولدری به نام history موجود است . آیا من در برنامه خودم باید از این فولدر هم استفاده کنم . در این صورت ممکن است از نقش فایلهای درون این فولدر توضیح مختصری بفرمائید. متشکرم

shervin farzin
شنبه 09 خرداد 1388, 12:05 عصر
سلام

در فولدر ارسالی شما فولدری به نام history موجود است . آیا من در برنامه خودم باید از این فولدر هم استفاده کنم .
فايلهاي اين پوشه ، فيلهاي پشتيبان براي ، Unit هاي پروژه هستند و شما براي كار و اجراء پروژه به اونها نيازي نداريد. ( اگر فايل Unit3.pas.~9 رو در محيط دلفي يا Notepad
باز كنيد ، كد هاي مربوط به پروژه ارسالي در پست 6 رو خواهيد ديد ، كه من اونها رو پاك كردم و كد جديد رو نوشتم ) .
موفق باشيد .

nasim984
یک شنبه 10 خرداد 1388, 14:42 عصر
می شه از event onCalcfield هم استفاده کرد البته دیگه(SQL) نیست