ACCESS数据表某字段更新问题,请高手回答(50分)

  • 主题发起人 charles2002
  • 开始时间
C

charles2002

Unregistered / Unconfirmed
GUEST, unregistred user!
Access数据库中有一表:
a, a1, a2 , a3
1 41 3
8 3 14
5 6 9
8 6 10
a列开始为空,a1,a2,a3均有值且有可能重复。
现需在程序运行的过程中对a列填入指定的数,应如何操作,谢谢
 
首先将要更新的记录选出。然后
adotable1.edit;
adotable1.fieldbyname('a').asstring:='33';
adotable1.post;
 
根据什么标准对a列填入什么样的数?
 
填入顺序号,能否用SQL语句完成
 
看看这样;
With Qry1 do begin
Sql.clear;
Sql.Text:='Select * from 表名'
Open;
First;
While not Eof do begin
FieldByName('a').AsInteger := RecNo;
Post;
Next;
end;
end;
 
没有a1、a2、a3都一样的记录吧,否则可真就没法了。
可以先用数据集打开表并可根据某些字段排好序,再用循环逐个写SQL语句并执行
(方法好象比较笨,但我不知道其它的办法):
With AdoDataset1 do
begin
close;
commandtext:='select * from tablename';
Open;
for i:=1 to recordCount do
begin
//假定各字段都是数值型
AdoCommand1.Commandtext:='Update tableName set a='+inttostr(i)+' where a1='
+fieldByName('a1').asString+' and a2='+fieldByName('a2').asString
+' and a3='+fieldByName('a3').asString;
AdoCommand1.Execute;
end;
end;
 
顶部