VB操纵三个独立的Access数据库问题
如题,有三个独立的Access数据库,数据结构相同,内容不同,如字段均为:
A.mdb ,结构:ID,Name,sex
B.mdb ,结构:ID,Name,sex
C.mdb ,结构:ID,Name,sex
问题如下:
1.====
A、B、C的内容不同,现要从B中找出A中已有的重复数据,并将找出的相同数据保存至C.mdb,用VB如何实现;
2、====
将1步骤找出的重复数据从B中删除;
3、====
将删除重复数据后的B.mdb追加至A.MDB
以上如何实现,VB6.0,谢谢!
急!
请Email至:(因上网不便)
fycsave@163.com
------解决方案--------------------创建Connection,连接到一个数据库,比如说:A.mdb
使用SQL语句可以实现多个mdb:
可以使用如下两种方式访问另一个MDB:
1、
SELECT * from 表名 in 'C:\db2.mdb '
--其中表名是在db2中的表名
2、
select * from [;database=C:\db2.mdb].表名
------解决方案----------------------如果创建的Connection连接的是A.mdb,则第一个问题用如下SQL实现:
假设你说的相同,指的是三个字段都相同:
insert into [;database=D:\C.mdb].表名 (id,name,sex)
select a.ID,a.name,a.sex
from 表名 as a
inner join [;database=D:\B.mdb].表名 as b on a.id=b.id and a.name=b.name and a.sex=b.sex
------解决方案----------------------如果创建的Connection连接的是A.mdb,则用如下SQL实现:
假设你说的数据相同,指的是三个字段都相同:
--1、第一个问题
insert into [;database=D:\C.mdb].表名 (id,name,sex)
select a.ID,a.name,a.sex
from 表名 as a
inner join [;database=D:\B.mdb].表名 as b on a.id=b.id and a.name=b.name and a.sex=b.sex
where a.ID & a.name & a.sex not in (select ID & name & sex from [;database=D:\C.mdb].表名)
--2、第二个问题
delete * from 表名
where ID & name & sex in (select ID & name & sex from [;database=D:\A.mdb].表名)
--3、第三个问题
insert into 表名 (id,name,sex)
select id,name,sex
from [;database=D:\B.mdb].表名
where ID & name & sex not in (select ID & name & sex from 表名)
------解决方案--------------------1、具体程序实现,请到相应的语言版块去问吧,这里是SQL语句;
2、A、B、C的内容不同:三表有相同的KEY字段,不同是指整条记录,还是KEY字段,如
是整条记录
1.====
A、B、C的内容不同,现要从B中找出A中已有的重复数据,并将找出的相同数据保存至C.mdb,用VB如何实现;
insert into [;database=D:\C.mdb].tt (id,name,sex)
select a.ID,a.name,a.sex
from tt as a
inner join [;database=D:\B.mdb].tt as b on a.id=b.id and a.name=b.name and a.sex=b.sex
2、====
将1步骤找出的重复数据从B中删除;
delete * from tt
where ID & name & sex in (select ID & name & sex from [;database=D:\A.mdb].tt)
or
delete a.* from [;database=D:\b.mdb].tt a inner join [;database=D:\A.mdb].tt b
on a.ID=b.id and a.name=b.name and a.sex=b.sex
3、====
将删除重复数据后的B.mdb追加至A.MDB
insert into [;database=D:\a.mdb].tt (id,name,sex)
select id,name,sex
from [;database=D:\B.mdb].tt