怎么将查询后的记录登记到一个 table中(50分)

  • 主题发起人 主题发起人 jadyyarcoo
  • 开始时间 开始时间
J

jadyyarcoo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中想将查询后的记录登记到一个表中,查询的结果有两个字段,table中也有相同两个字段
字段: 型号 数量

由于查询出的型号比table中的型号少,所以需要将查询出的数量填写到相应的型号中,以下程序只能
登记第一条记录,出错在那?请大家帮我看看!
with form26.Query1 do
begin
close;
sql.Clear;
sql.Add('select 型号,数量 from 表 where 1=1');
SQl.Add('and 站点=''区''');
sql.Add('group by 型号);
end;

while not form26.Table1.Eof do
begin
form26.Query1.Open;
form26.Query1.First;
while not form26.Query1.Eof do
begin
if form26.Table1.FieldValues['型号]=form26.Query1.FieldValues['型号] then
begin
form26.Table1.Open;
form26.Table1.Edit;
form26.Table1.FieldValues['数量']:=form26.Query1.FieldValues[‘数量’];
end
else
begin
form26.Table1.Open;
form26.Table1.Edit;
form26.Table1.FieldValues['数量']:=0;
end;
form26.Query1.Next;
end;
form26.Table1.Post;

 
这个程序只能产生第一条记录
 
按你写的当然只能产生第一条记录了!
Table每次打开后!
就会停在第一条记录上!
 
之所以是一条,大概是因为你table里的指针没有往前移
form26.Table1.next;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部