我用ADO+ACCESS,现在想在查询出来的记录中对其中一个字段进行求和,
然后显示出来。。例如,表中有(姓名,车辆号,送货数量 三个字段),就是想
根据查询条件查询到记录后,把送货数量进行求和,然后用一个组件显示出来
如果对DBGRID用循环相加应该怎样写呀(我用DBGRID显示记录...)
同时我还想问能否用SQL来实现,能否给个例子...
因初学delhpi,所以很多不是很明白请各位大哥指教下。。
找到答案后马上结贴,新手没有太多分,还望各位帮帮我。。
然后显示出来。。例如,表中有(姓名,车辆号,送货数量 三个字段),就是想
根据查询条件查询到记录后,把送货数量进行求和,然后用一个组件显示出来
如果对DBGRID用循环相加应该怎样写呀(我用DBGRID显示记录...)
同时我还想问能否用SQL来实现,能否给个例子...
因初学delhpi,所以很多不是很明白请各位大哥指教下。。
找到答案后马上结贴,新手没有太多分,还望各位帮帮我。。
1.先设DBGridEH的footerrowcount为1
2.将要显示的字段加入DBGridEH
3.将DBGridEH要统计的字段的footer中的valtype改为fvtsum
用sql也可以,不过不能方便地在DBGrid中显示
select sum(送货数量) from 表 where 条件;
edit1.text:=adoquery.fields[0].asstring;
再显示记录
select 姓名,车辆号,送货数量 from 表 where 条件;//条件与求和条件相同.
2。在数据集查询打开后,用循环求和,效率低,不如第一种方法。
first;
while not eof do
begin
//累加求和
end;
3.第三方控件dbgrideh,设置很简单。
DBGRID控件的dataset
ds.first;
iSum := 0;
while not ds.eof do
begin
iSum := iSum + ds.fieldbyname('求各字段').asinteger;
ds.next;
end;
得到iSum2.SQL
select sum('求和字段') from 表 where 日期 > '1900-8-1'
呵呵select 姓名,车辆号,送货数量 from 表 where 条件
union
select '合计','',sum('送货数量') from 表 where 条件