Access数据表的合并问题(100分)

  • 主题发起人 主题发起人 PFans
  • 开始时间 开始时间
P

PFans

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个Access文件a.mdb,里面有一个表:信息表1。另一个Access文件b.mdb,里面有一个
结构相同的表:信息表2。如何使“信息表1”的内容和“信息表2”的内容合并,还存储在
“信息表1中”?
 
insert into [c:/database1.mdb].TableName1
select *
from [c:/database1.mdb].TableName2
 
insert into 信息表1 in "c:/a.mdb" select * from 信息表2 in "c:/b.mdb"
 
数据是能合并了。但问题又出来了:合并时怎么去处重复的数据?
 
请大略说明一下表的结构及以什么字段判断是重复的记录,以及是信息表1和信息表2本身有
重复还是合并后才有重复
 
to QuickSliver:
比如我执行过一次
insert into 信息表1 in "c:/a.mdb" select * from 信息表2 in "c:/b.mdb" 后,
我在信息表2中添加了一些记录,再执行上述语句时,怎样做到只把新增的记录合并
到信息表1中,也就是去除哪些重复的记录?

 
insert into 信息表1 in "c:/a.mdb" select * from
(select * from 信息表2 in "c:/b.mdb" where id not in (select id from 信息表1 in "c:/a.mdb"))

上面语句中的id是一个唯一值字段,改为你自己的字段名,如你表中无唯一值字段,
则上述语句将运行结果不正确,另当adoconnection连接到a.mdb上时,
语句中的 in "c:/a.mdb" 可去除,改为

insert into 信息表1 select * from
(select * from 信息表2 in "c:/b.mdb" where id not in (select id from 信息表1))
 
多人接受答案了。
 
后退
顶部