這篇是讀了網上文章之後整理的。
問題:
有一個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之外,其他操作可以依照着寫。