ACCESS VBA 跨数据库操作表

这篇是读了网上文章之后整理的。

问题:

有一个db1.mdb,其中有一个表tbl1,表中有两个字段id和name。

另外还有一个db2.mdb,其中有一个表tbl2,表中也有两个字段id和name。

现在想用db2中的tbl2的name去更新db1中的tbl1的id相同的name。
(比如有一个工人名单,有工人编号和工人姓名,现在换了一批工人,自然也就把工人姓名更新了。财务为图方便,想用这份更新了的工人名单去更新他们的工资表。那工人名单就是db1,工资表就是db2。)

sql语句这样写:

strsql=”UPDATE tbl2 INNER JOIN [MS Access;PWD=密码;DATABASE=db1.mdb的全路径].tbl1  AS tmp1 ON tmp1.id=tbl2.id SET tbl2.name=tmp1.name”

极端一点的还可以考虑这样写:

strsql=”UPDATE [MS Access;PWD=密码;DATABASE=db2.mdb的全路径].tbl2 AS tmp2 INNER JOIN [MS Access;PWD=密码;DATABASE=db1.mdb的全路径].tbl1  AS tmp1 ON tmp1.id=tmp2.id SET tmp2.name=tmp1.name”

很明显,[MS Access;PWD=密码;DATABASE=db2.mdb的全路径].tbl2 和AS tmp1这两个内容很重要。

写完了后,可以用Docmd.runsql strsql执行。

UPDATE之外,其他操作可以依照着写。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值