问题描述
我似乎找不到解决方案。我正在将一些 vba 代码翻译成 python。其中一个步骤是更新一些 MS Access 链接表,但我似乎无法复制这些步骤。
Vba 代码:
Filecopy db,flenm
appAccess.OpenCurrentDatabase (flenm)
Set myDb = appAccess.CurrentDb
'fles is an array made earlier w/ the new db names
For Each tbl In myDb.TableDefs
If InStr(1,tbl.Connect,"db_prefix ") <> 0 Then
tbl.Connect = Replace(tbl.Connect,Basefolder & "my_db1.accdb",fles(0).Path)
tbl.Connect = Replace(tbl.Connect,Basefolder & "my_db2.accdb",fles(1).Path)
tbl.Connect = Replace(tbl.Connect,Basefolder & "my_db3.accdb",fles(2).Path)
tbl.Connect = Replace(tbl.Connect,Basefolder & "my_db4.accdb",fles(3).Path)
tbl.Connect = Replace(Replace(tbl.Connect,"_Template","_" & flename),"\\server\path\to\folder",DestFolder)
tbl.RefreshLink
End If
Next tbl
appAccess.CloseCurrentDatabase
myDb.Close
Set myDb = nothing
在 Python 中,我有新的 dbs 和文件路径,我正在努力做的是模仿 vb6 代码中的 tbl.RefreshLink。
Python 代码:
from win32com.client import dispatch
objAccess = dispatch("Access.Application")
objAccess.Visible = False
objAccess.OpenCurrentDatabase(db_path)
objDB = objAccess.CurrentDb()
for tbl in ObjDB.TableDefs:
tbl.RefreshLink
objAccess.Application.Quit()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)