比如:
主次表结构的:主表与次表都是编辑状态,主表一条记录,用edit.text显示的,
次表由DBGrid显示,现在我想实现“在DBGrid中输完多条记录以后,离开DBGrid焦点后,把其中一项的值汇总赋值到主表的某一个字段。”请问如何实现?
例子单号:394885 项目名称:辣食品
总金额: 160(这里就是要用下面DBGrid中一个字段的汇总赋值过来的)下面是子表DBGrid当中显示的:
鸭子 2只 20元
鹅 3只 60元
鸡 1只 80元
上面主表的“总金额”就是所要赋值的。一离开焦点就要赋值过去。
谢谢!
主次表结构的:主表与次表都是编辑状态,主表一条记录,用edit.text显示的,
次表由DBGrid显示,现在我想实现“在DBGrid中输完多条记录以后,离开DBGrid焦点后,把其中一项的值汇总赋值到主表的某一个字段。”请问如何实现?
例子单号:394885 项目名称:辣食品
总金额: 160(这里就是要用下面DBGrid中一个字段的汇总赋值过来的)下面是子表DBGrid当中显示的:
鸭子 2只 20元
鹅 3只 60元
鸡 1只 80元
上面主表的“总金额”就是所要赋值的。一离开焦点就要赋值过去。
谢谢!
解决方案 »
- 今天测试DELPHI 2011 的三层数据时发现一个错误
- 大家帮我看看矢量数据库怎样设置?我还是新手,请大家包含!
- 到底是哪出错了
- 用delphi编一个网络小游戏,它的通信用的是什么控件?
- 谁能告诉我delphi7怎么通过mysql api访问mysql数据库?给点提示也行(API)
- 哪里有DELPHI版的APIHOOK?最好能够提供源码
- 我想在这里认识一下青岛或山东省的Delphi程序员,大家组成一个Delphi联盟好不好?????
- delphi的优势在哪些方面?
- 这个问题已折磨我多天,那位高手帮我解决!!!
- 和listview有关的问题求教?
- delphi 三层开发问题
- TIdHttp及TImage问题
var
StrSql:string;
begin
AdoQuery1.close;
StrSql := 'Select sum('金额') from 次表';
AdoQuery1.Sql.Text := StrSql;
Adoquery1.open;
Edit1.Text := FloatToStr(AdoQuery1.FieldbyName('金额').asFloat);
StrSql := 'Update 主表 Set 金额 = ' + FloatToStr(AdoQuery1.FieldbyName('金额').asFloat);
ADOConnect1.Execute(StrSql);
end;
请指教
例子表名:hh2
name jine kind
ed 10 1
edi 10 1
edit 15 1
edit1 16 2
黄海 17 2
小兰 18 1
小明 19 3
根据kind汇总:
select Kind, sum(jine) as 金额 from hh2 group by kind结果
kind 金额
1 53
2 33
3 19
我的意思是:
在DBGrid输入数据时,把DBGrid中某列汇总到一个edit.text上面。
鸭子 2只 20元
鹅 3只 60元
这个时候要时离开DBGrid焦点,就马上赋值给Edit.text 显示 80元
要是继续输
鸭子 2只 20元
鹅 3只 60元
鸡 3只 60元
这个时候要离开DBGrid焦点,就马上赋值给Edit.text 显示 140元
也就是求在编辑状态下DBGrid中某列数据的汇总。在主次表单据操作中,其实这个时候的数据还未保存在数据库中。要是我点击取消的话,这些数据也就不存在了。谢谢了。
可以把Sql选择语句作为临时表来用,比如我那个例子里面
Select * from (select Kind, sum(jine) as 金额 from hh2 group by kind);
既然有了选择Sql,就可以用ADOQuery显示某一个字段的值