我正在尝试将MS Access
数据库从版本2000
转换为2007
或2010
。我必须使用Python
实现此目的。
如果我安装MS Access 2007
或MS Access 2010
,则可以。但我希望在不安装MS Access
这些版本的情况下执行此操作。我尝试安装MS Access 2010 Runtime
,但没有工作。
我尝试了pypyodbc
模块,但它只适用于mdb
数据库。我也试过跟win32com.client.Dispatch()
:
Access.Application (ConvertAccessProject)
JRO.JetEngine (CompactDatabase)
DAO.DBEngine (CompactDatabase)
以上都不起作用。
我在互联网上搜索了很多但直到现在才找到任何解决方案。如果有任何解决办法,请告诉我。
答案 0 :(得分:1)
如果我安装MS Access 2007或MS Access 2010,则可以正常运行。但我想[将整个Access应用程序从Access 2000转换为Access 2007或Access 2010]而不安装这些版本的MS Access。我尝试安装MS Access 2010 Runtime,但无法正常工作。
你的目标是不可能实现的。为了将整个Access应用程序(包括表单,报表,模块代码等)从Access 2000转换为Access 2007或Access 2010,您必须安装完整版本的Access 2007或Access 2010,因为这是转换代码所在的位置。
答案 1 :(得分:0)
我只遇到了Python的麻烦,但可能就是这样:
Access.Application.ConvertAccessProject sourcefile, targetfile, acFileFormatAccess2007
或者,因为常数可能不为P:
Access.Application.ConvertAccessProject sourcefile, targetfile, 12
也许你需要更明确一点:
ap = win32com.client.Dispatch("Access.Application")
ap.ConvertAccessProject(s, t, 12)