ورود

View Full Version : جمع ستون عددی DBgrid



Mohajer_Moh
دوشنبه 09 اردیبهشت 1387, 23:33 عصر
با سلام خدمت دوستان

می خواهم جمع یک ستون DBgrid را در یک Label نمایش دهم همچنین هرگاه کاربر رکوردی را ویرایش نموده و کلید Enter را زد جمع ستون را اصلاح و در Label نمایش دهد.

SYNDROME
سه شنبه 10 اردیبهشت 1387, 06:05 صبح
با سلام خدمت دوستان
می خواهم جمع یک ستون DBgrid را در یک Label نمایش دهم همچنین هرگاه کاربر رکوردی را ویرایش نموده و کلید Enter را زد جمع ستون را اصلاح و در Label نمایش دهد.
می توانی با تابع Sumجمع ستونها را حساب کنی.


Select Sum(Price) As Price
From Tbl_Text

موفق باشید

Mohajer_Moh
سه شنبه 10 اردیبهشت 1387, 11:38 صبح
از این دستور استفاده کردم.مشکل اینجاست وقتی رکوردی در DBgrid تغییر پیدا می کند جمع ستون انجام نمی شود مگر در مکان نما را در سطر دیگری قرار دهیم. می خوام وقتی تغییر در Dbgrid داده شد پس از زدن کلید Enter جمع ستون انجام شود.

SYNDROME
سه شنبه 10 اردیبهشت 1387, 22:02 عصر
از این دستور استفاده کردم.مشکل اینجاست وقتی رکوردی در DBgrid تغییر پیدا می کند جمع ستون انجام نمی شود مگر در مکان نما را در سطر دیگری قرار دهیم. می خوام وقتی تغییر در Dbgrid داده شد پس از زدن کلید Enter جمع ستون انجام شود.
بعد از زدن کلید Enterمی توانید در رویداد OnkeyPress دستور ADO.UpdateBatch را اجرا کنید و سپس Select بالا را اجرا کنید تا جمع درست شود.
موفق باشید

Mohajer_Moh
چهارشنبه 11 اردیبهشت 1387, 01:24 صبح
دوست عزیز با تشکر از شما. ولی من از یک Table پاراداکس و یک Query و یک DBgrid استفاده می کنم. دستور شما در Query وجود ندارد.
دوستان کسی نیست راهنمایی کنه.

Mohajer_Moh
پنج شنبه 12 اردیبهشت 1387, 14:40 عصر
کسی نیست راهنمایی کنه؟

B-Vedadian
پنج شنبه 12 اردیبهشت 1387, 17:04 عصر
براي کاري که ميخوايد انجام بديد، بايد تو دو تا رويداد کد بنويسيد. خاصيت RequestLive کوئري شما که حتما True هست.

تو رويداد AfterPost همون کوئري بنويسيد:


procedure TForm1.Query1AfterPost(DataSet: TDataSet);
begin
Query2.Open;
Caption := Query2.FieldValues['Price'];
Query2.Close;
end;


تو رويداد OnKeypress هم (براي DBGrid مربوطه)


if Key = #13 then
Query1.Refresh;


کوئري 1 همون کوئري اصلي که رکوردها رو برميگردونه و به DataSource نسبتش ميديد. کوئري دوم براي محاسبه جمعه به روشي که آقاي سندروم گفتند.