主从表中,从表为什么不能遍历修改记录?我百思不解。(100分)

  • 主题发起人 主题发起人 Dawn7
  • 开始时间 开始时间
D

Dawn7

Unregistered / Unconfirmed
GUEST, unregistred user!
Paradox的主从表,当主表指针在第一条记录处, 从表的中明明有12条记录,可是只要
遍历修改,却只能修改最后一记录,中间的记录全都跳过去了!为什么?
 
贴出你的程序!
 
你用什么方式访问数据库的呢?
 
jswqg,
zhumoo:
就是Table,Table1是从表,Table2是主表,两表以 职工编号 进行关联
if not Table2.Active then
Table2.open;
Table2.First ;

if Table1.Active then
Table1.Close;
Table1.open;
while not Table2.eof do
begin
if Table1.RecordCount >0 then
begin
Table1.First ;

i:=0;

s:=Table2.fieldbyname('职工编号').asstring;

while not table1.Eof do
begin

i:=i+1;
case length(inttostr(i)) of
1: s1:=s+'00'+inttostr(i);
2: s1:=s+'0'+inttostr(i);
3: s1:=s+inttostr(i);
end;

Table1.edit;
Table1.FieldByName ('id').asstring:=s1;
Table1.Post ;
Table1.Next ;
end;
end;
Table2.next;

end;
 
可以呀,我用DBDEMOS的orders.db和items.db试的没有问题。
一定是你的程序里有问题。
 
你是不是在table1和table2的其它事件里写代码了,这样会引起记录指针的移动。
 
好像也没啥问题。
你能调试一下么,看程序是否真的作了修改。
多调试一定能解决的
 
后退
顶部