PDA

View Full Version : جمع چند فیلد



ehsan_ei
شنبه 28 فروردین 1389, 12:24 عصر
سلام دوستان:


من میخوام چندتا از قیلد های جدولم رو برای هر رکورد باهم جمع کنم. این کد رو براش نوشتم:



var
temp,sherkatname:ansistring;
begin
sherkatname:=combobox1.Text;
adoQuery1.SQL.clear;
temp:='select piktajsum+kandekarisum+nasbsum+taeedsum as"sum" from edareh ,name,mahdude where edareh.shomaretarh=name.shomaretarh and edareh.shomaretarh=mahdude.shomaretarh and edareh.sherkatname='
temp:=temp+QuotedStr(sherkatname);
adoQuery1.SQL.add(temp);
adoQuery1.Open;
end;


اما توی ستون sum هیچی نوشته نمیشه. یعنی اصلا این فیلدها رو باهم جمع نمیکنه. لطفا راهنماییم کنین.ممنون:قلب:

M aJi D
یک شنبه 29 فروردین 1389, 12:28 عصر
سلام.
دوست عزيز كد شما تا جايي كه من متوجه شدم اينجوريه كه شما چندتا فيلد را جستجو ميكنيد و در همونجا جمع ميكنيد و با نام sum ب ميگردونيد.
خوب اين كد شما در حال حاضر به نظر من 2تا يراد داره چون اولاً در دستور select + گذاشتن بين فيلدها معنيش اين نيست كه فيلدها را جمع كنه بلكه معنيش اينه كه شما ميخوايد فيلدهاي مختلفي را جستجو كنيد و در كنار هم نشون بديد مثلاً
select name+family
خروجيش ميشه ali amini كه ali اسم و amini فاميلي است و اين دو در كنار هم هستند نه جمع!!!!
دوم اينكه شما خواستيد جمع اين فيلدها را با نام sum خارج كنيد كه چون اين فيلدها نتيجه ي مشخصي ندارند پس خروجي نداره.
در دستورات sql دستور پيش فرضي به نام sum هست كه فيلدهاي عددي را با هم جمع ميكند و شما ميتوانيد از آن استفاده كنيد.
select sum(fil1,fil2)

موفق باشيد

ehsan_ei
یک شنبه 29 فروردین 1389, 15:48 عصر
سلام دوست عزیز:
تابع sum برای جمع مقادیر یک جدوله و فقط یک آرگومان میگیره. وقتی نوشتم ارور داد. من میخوام من میخوام مقادیر چند فیلد از یه رکورد رو با هم جمع کنم!:گریه:

pezhvakco
یک شنبه 29 فروردین 1389, 20:48 عصر
درود :

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


اما توی ستون sum هیچی نوشته نمیشه
لازم نیست sum رو اون جوری بنویسی .


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


من میخوام من میخوام مقادیر چند فیلد از یه رکورد رو با هم جمع کنم

SELECT Col1 + Col2 AS Expr1
From Table1
فکر خوش .

afsoon_k77
دوشنبه 30 فروردین 1389, 11:37 صبح
برای اینکار ابتدا یک فیلد از نوع fkCalculated در ADoQuery یا هر dataset دیگه ای که دارید تعریف کنید این فیلد در واقع حاصل جمع سه فیلد دیگه جدولتون سپس در رویداد ONCalc دیتاست مورد نظر مقدار این فیلد را برابر جمع سه فیلد قرار بدید
نکته : این فیلد فقط جنبه نمایشی دارد و در دیتابیس ذخیره نمیشه برای ذخیره ان لازم قبل از پست کردن رکورد مورد نظر مقدار این فیلد را فیلد معادل آن (فیلد موجود در DB ) ذخیره کنید