关于ACCESS的多表合并问题,请指教!!(300分)

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

cnbluerain

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有两个.mdb文件分别为a.mdb和b.mdb
在a.mdb中有一个表at1,结构如下:
NO 文本(6)
NAME 文本(10)
在b.mdb中有一个表bt1,结构如下:
NO1 文本(3)
NO2 文本(3)
AGE 文本(10)
现有如下需求:
合并bt1到at1中使at1变为:
NO 文本(6)
NAME 文本(10)
NO1 文本(3)
NO2 文本(3)
AGE 文本(10)
合并的条件为:NO=NO1+NO2
请各位高人指教,谢了!
 
大家这个时候都去吃饭了吧??
怎么没人? :(
 
insert into tab3 select no,name,no1,no2,age from bt1,at1 where no=no1+no2
只能合并到新表中,因为你的at1结构不能变
 
1、Adoconnection连接到a.mdb,在Adoquery中执行增加字段SQL语句
alter table at1 add column no1 char(3),no2 char(3),age char(10)
2、把在bt1表中有但不在at1表中的数据插入到at1表中。
insert into at1 (no) select no1+no2
from bt1 in "b.mdb"
where no1+no2 not in (select no from at1)
3、执行update语句,把bt1表中的数据传到at1表中。
update at1 as AAA,(select no1+no2 as no,no1,no2,age from bt1 in "b.mdb") as BBB
set AAA.no1=BBB.no1,
AAA.no2=BBB.no2,
AAA.age=BBB.age
where AAA.no =BBB.no
未验证,如有出错之处请见谅。
 
只有创建新表了,数据库结构变了,有可能调整表结构后数据丢失
 
ysai说的对,合并到新表最简单与安全
 
多人接受答案了。
 
后退
顶部