ACCESS VBA 跨数据库操作表

来源:互联网 发布:淘宝上怎样制作小视频 编辑:程序博客网 时间:2024/06/05 06:04

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

问题:

有一个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之外,其他操作可以依照着写。

 

原创粉丝点击