对象访问.应用程序.退出尝试使用python关闭Access数据库时无法完全工作

2024-05-14 06:29:00 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我正在运行python2.6.5中的msaccess(2010)宏。它成功地运行了宏,但是accdb文件没有完全正确地关闭。在我的宏运行后,它显示了一个.laacdb文件和.accdb文件。我认为使用CloseCurrentDatabase和Quit语句可以做到这一点,但事实并非如此。重新启动计算机后,.laacdb文件就会消失。谢谢您。在

from win32com.client import Dispatch
strDbName = "C:\\converter\\MainConverter.accdb"
objAccess = Dispatch("Access.Application")
objAccess.Visible = False
objAccess.OpenCurrentDatabase(strDbName)
objDB = objAccess.CurrentDb()
objAccess.DoCmd.RunMacro('Export_to_PDF')
objAccess.Application.CloseCurrentDatabase()
objAccess.Application.Quit

Tags: 文件fromapplication计算机语句quit事实win32com
1条回答
网友
1楼 · 发布于 2024-05-14 06:29:00

在VBA中,我们通常将对象变量设置为Nothing来处理它们。在Python中,尝试显式删除objAccess变量。在

del objAccess

对不起,我的Python已经被废弃了,所以可能是我弄错了语法。但类似的事情可能会有所帮助。在

另外,我想不起来在.Quit方法之后是否需要一对括号。这样试试,以防万一:

^{pr2}$

如果objDB仍然保留对访问应用程序/db的引用,请将其也删除。在

^{3}$

但是,如果实际代码中没有实际使用它,只需完全消除objDB。在

相关问题 更多 >