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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章