有两种方法吧
从数据表中合计
给一个临时ADOQuery组件 执行这条SQL语句
StrSQL := 'select Sum(FieldB) iTemp from TableName';
Edit1.Text := ADOQuery1.FieldByName('iTemp').AsString;
第二种可以直接从DBGrid中合计
从数据表中合计
给一个临时ADOQuery组件 执行这条SQL语句
StrSQL := 'select Sum(FieldB) iTemp from TableName';
Edit1.Text := ADOQuery1.FieldByName('iTemp').AsString;
第二种可以直接从DBGrid中合计
解决方案 »
- 导航菜单设置为fsStayOnTop,但打开出入库单时希望导航显示在后面怎么办
- delphi怎么连接sybase?
- 关于QQ的TEA加解密
- shelllistview N个问题!~~~~~
- 请大家有没有办法????
- 如何关闭调试开关?
- 怎样实现多表连接数据库?
- 请教高手:Delphi 中的 Ord() 命令是干什么的,对于的VC的命令是什么?
- 您好,请教 Windows.CreateMutex 的一些问题。
- 请问各位大大,怎么样用ODBC连接MsSql(D5+Win98)?
- 请问在那一个组件中写自动找chen目录中数据库的代码并连接
- 能不能实现这种功能,当一个编辑控件得到焦点时,该控件就变成另一种颜色?
var
Book:TBookMark;
Atotal:Integer;
begin
Atotal:=0;
With dbgrid.DataSource.DateSet do
begin
BookMark:=GetBookMark;
try
DisableControls;
first;
While Not Eof do
begin
INc(Atotal,FieldbyName('b').asInteger);
Next;
end;
Enablecontrols;
finally
GotoBookMark(book);
BookMark.free;
end;
Result:=Atotal;
end;
end;
注意dbgrid 中的数据是否和数据库中的一致,因为数据可能发生变化,而没有保存到数据库中
while not Table1.eof do
begin
Edit1.text:=floattostr(strtofloat(Edit1.text)+strtofloat(b.asstring));
Table1.next;
end;
begin
for i:=0 to recordcount -1 do
begin
edit.text:=floattostr(strtofloat(edit.text)+FieldByName ('b').Value);
next;
end;
end;
begin
adoquery1.first;
while not adoquery1.eof do
begin
edit.text:=floattostr(strtofloat(edit.text) +adoquery1.FieldByName('b').Value);
next;
end;
end;
注:adoquery1是你的那个dbgrid1中的datasource的dataset,所连的query.