微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Python 更新或刷新 MS Access 中的表格链接?

如何解决如何使用 Python 更新或刷新 MS Access 中的表格链接?

我似乎找不到解决方案。我正在将一些 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 举报,一经查实,本站将立刻删除。