求助delphi7,Access分类统计问题
本帖最后由 TiaoWuDeWuShi 于 2013-02-04 08:37:51 编辑 初学实在搞不出来,求源码。Delphi,Access,ADOQuery 表1是明细表,表2是汇总表,怎能将表1的统计数填入表2中,类似表2(结果) 表1,表2都存在 ,不用创建新表。
表1 表2
No ItemNo ItemNo all
1 101 101
2 101 102
3 102 103
4 102 104
5 103 105
6 104 总数
7 105
8 103
9 105
10 101
表2(结果)
ItemNo all
101 3
102 2
103 2
104 1
105 2
总数 10
[解决办法]
下边是读取表1, 更新表2的代码, 你放到相应的事件中, 简单调试应该就可以使用.
with ADOQuery1?do
begin
//初始化ADOQuery1, 装载数据
Close;
ConnectionString := Format(AdoString, [GetCurrentDir + '\db1.mdb']);
SQL.Text := 'select ItemNo, count(1) as Amount form 表1';
Open;
First;
//初始化ADOQuery2
ADOQuery2.ConnectionString := Format(AdoString, [GetCurrentDir + '\db2.mdb']);
//遍历ADOQuery1, 使用qry2执行更新语句
while not Eof do
begin
ADOQuery2.SQL.Text := format('update 表2 set [all] = %d where ItemNo = %d', [fieldbyname('Amount').asinteger, fieldbyname('ItemNo').asinteger]);
ADOQuery2.ExecSQL;
Next;
end;
end;