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

如何使用 Python 遍历 MS Access 表

如何解决如何使用 Python 遍历 MS Access 表

from win32com.client import dispatch

oAccess = dispatch("Access.Application")
oAccess.Visible = False
oAccess.OpenCurrentDatabase(my_db)
oDB = oAccess.CurrentDB

for tbl in oDB.TableDefs:
     print(table.Name)
     tbl.RefreshLink

我也做过:

for tbl in oAccess.TableDefs:
     print(table.Name)
     tbl.RefreshLink

错误:'function' 对象没有属性 'TableDefs'

我开始了解如何使用 win32com 操作 Windows,但出于某种原因,似乎无法识别“.TableDefs”。我是不是用错了方法

我知道这可以在 VBA 中完成。我的任务是将所有内容都切换到 Python。

解决方法

这里的第一个错误是 VBA 知道 CurrentDb 是一个方法,并且无法将方法分配给变量,因此它会调用该方法。

然而,Python 在将方法分配给变量时有 0 个问题,所以就这样做了。这意味着您需要括号来调用该方法:

oDB = oAccess.CurrentDb()

这解决了当前的问题(tbl.RefreshLink 也是如此,这可能应该是 tbl.RefreshLink())。

此外,您从不定义 table,只定义 tbl,因此您可能需要 print(tbl.Name)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。