基本情况:DBGRID1,ADOQUERY1,ACCESS数据表:aqcgmx(采购明细表) agcghz(采购汇总表)采购明细表aqcgmx:(实际明细和字段比较多,下面的只供参考)
商品名称pm 数量sl 单价dj 金额 经受人jsr 供应商GHS 采购日期cgrq
商品1 100 0.5 50 小W A公司 2006-12-01
商品2 200 0.6 120 小Z B公司 2006-12-02
商品1 100 0.5 50 小W A公司 2006-12-03
商品2 200 0.6 120 小Z B公司 2006-12-04
商品3 300 0.7 210 小Z C公司 2006-12-05采购汇总表agcghz:(实际明细和字段比较多,下面的只供参考)
商品名称 数量 单价或平均价格 金额je
商品1 200 0.5 100
商品2 400 0.6 240
商品3 300 0.7 210
=========================================
总计: 900 550
要求:
1、将“采购明细表”里的数据汇总,批量录入到“采购汇总表”里,并显示在DBGRID里
2、汇总是按条件汇总,如按商品名称汇总。
3、汇总显示在DBGRID里,要总计,显示在EDIT1.TEXT里。谢谢前辈们。我原来的方法:
先用SQL查询满足条件的“采购明细表”,然后FOR循环录入到“采购汇总表”里,但数据多了处理很慢!
商品名称pm 数量sl 单价dj 金额 经受人jsr 供应商GHS 采购日期cgrq
商品1 100 0.5 50 小W A公司 2006-12-01
商品2 200 0.6 120 小Z B公司 2006-12-02
商品1 100 0.5 50 小W A公司 2006-12-03
商品2 200 0.6 120 小Z B公司 2006-12-04
商品3 300 0.7 210 小Z C公司 2006-12-05采购汇总表agcghz:(实际明细和字段比较多,下面的只供参考)
商品名称 数量 单价或平均价格 金额je
商品1 200 0.5 100
商品2 400 0.6 240
商品3 300 0.7 210
=========================================
总计: 900 550
要求:
1、将“采购明细表”里的数据汇总,批量录入到“采购汇总表”里,并显示在DBGRID里
2、汇总是按条件汇总,如按商品名称汇总。
3、汇总显示在DBGRID里,要总计,显示在EDIT1.TEXT里。谢谢前辈们。我原来的方法:
先用SQL查询满足条件的“采购明细表”,然后FOR循环录入到“采购汇总表”里,但数据多了处理很慢!
解决方案 »
- 数据查询的问题???
- CSDN论坛秀-周周秀不断,天天秀精彩--招幕贴
- 关于mssql2000的行集过滤问题(非delphi相关问题)
- 如何获得DBGRID的记录数
- 关于指针释放的问题
- 我用SQL Explorer时创建了MyDb怎么进不去?
- delphi 对windows消息的处理。分数不是问题。
- BDE连接ORACLE数据库的问题
- TDBChat中用什么属性实现“3d条,3d累加条,3d纵向条,3d饼图,2d条,2d累加条,2d纵向条,2d饼图”
- speedbutton控个有一个GROUPINDEX属性,在TOOLBAR中建立的BUTTON无此属性,如何实现其功能?
- 过年了,发红包了~~一个贴不够在开~^-^
- 如何实现同一台机子上的两个Access数据库之间的数据互导(表结构不同,只要导数据)?
from table_name
group by 商品名称pm好象这样就查出来了吧!
ADOQUERY1.sql.text:='insert into agcghz(商品名称,单价或平均价格,数量,金额)'
+'select pm,dj,sl, je from aqcgmx group by pm,dj'
ADOQuery1.ExecSQL;
ADOQUERY1.close;
ADOQUERY1.sql.text:='select sum(je) from agcghz';
ADOQUERY1.open;
edit1.text:=ADOQUERY1.fields[0].asstring;
ADOQUERY1.close;
ADOQUERY1.sql.text:='select * from agcghz';
ADOQUERY1.open;
ADOQUERY1.close;
ADOQUERY1.sql.text:='insert into agcghz(商品名称,单价或平均价格,数量,金额)'
+'select pm,dj,sum(sl) as sl, sum(je) as je from aqcgmx group by pm,dj'
ADOQuery1.ExecSQL;
ADOQUERY1.close;
ADOQUERY1.sql.text:='select sum(je) from agcghz';
ADOQUERY1.open;
edit1.text:=ADOQUERY1.fields[0].asstring;
ADOQUERY1.close;
ADOQUERY1.sql.text:='select * from agcghz';
ADOQUERY1.open;
再补充:
1、如要按采购日期或供应商或其他条件进行汇总,如何写代码?
2、在进行汇总操作的时候,要让汇总表里的部分字段的取值,复制明细表里的字段取值,该如何写?
如:采购汇总表cghz
商品名称PM 数量SL 单价或平均价格DJ 金额je 经手人JSR 供应商GHS 或更多字段后面的2个字段:JSR和GHS或更多字段的值如何取?一般是从明细表里复制。如何写?
谢谢指导!
学学SQL,可以以SQL Server为学习平台,它的联机帮助非常了得,还是中文版
[email protected]
另,再帮我看看这个问题
将表1在DBGRID里显示的数据,批量插入到表2里,如何写代码啊。
我找了好久没找到该方面的资料哦。