Ms access DoCmd.Quit挂起在Microsoft Access中
我正在调试一个Microsoft Access程序,当用户长时间使用该程序后单击“退出”按钮时,该程序偶尔会挂起。这个程序只是一个带有SQL数据库后端的精益访问前端 让我困惑的一件事是,“退出”按钮除了以下命令外什么也不做:Ms access DoCmd.Quit挂起在Microsoft Access中,ms-access,Ms Access,我正在调试一个Microsoft Access程序,当用户长时间使用该程序后单击“退出”按钮时,该程序偶尔会挂起。这个程序只是一个带有SQL数据库后端的精益访问前端 让我困惑的一件事是,“退出”按钮除了以下命令外什么也不做: DoCmd.Quit 现在我怀疑这可能是由杀毒软件引起的。MS Access将尝试在退出时写入(压缩)数据库文件,防病毒软件可能不喜欢这样做 然而,我只是想知道以前还有谁有过这个问题?是否还有其他可能导致此问题的因素?数据库可能具有自动压缩功能..并且docmd.quit
DoCmd.Quit
现在我怀疑这可能是由杀毒软件引起的。MS Access将尝试在退出时写入(压缩)数据库文件,防病毒软件可能不喜欢这样做
然而,我只是想知道以前还有谁有过这个问题?是否还有其他可能导致此问题的因素?数据库可能具有自动压缩功能..并且docmd.quit会使用该选项。压缩一个更大的数据库,即使它是sql支持的,也可能需要足够的时间让它看起来像一个挂起 试试这个
Application.Quit AcquitsAvone将更快地关闭,但不会压缩 数据库可能有自动压缩功能,..docmd.quit会执行该选项。压缩一个更大的数据库,即使它是sql支持的,也可能需要足够的时间让它看起来像一个挂起 试试这个
Application.Quit AcquitsAvone将更快地关闭,但不会压缩 我经历过这种行为,它是由使用静态DAO记录集的代码导致的,该记录集未能关闭
Static rs As DAO.Recordset
'Missing code
rs.Close
有点晦涩,但你永远不知道
但这是在以任何方式关闭应用程序时发生的。我经历过这种行为,这是由于使用静态DAO记录集的代码未能关闭应用程序造成的
Static rs As DAO.Recordset
'Missing code
rs.Close
有点晦涩,但你永远不知道
不过,这是在以任何方式关闭应用程序时发生的。如果已打开“关闭时压缩”功能 把它关掉 它是一个毫无价值的“特性”,永远不应该以实现它的形式添加到Access中
不要在关闭时使用紧凑型。它既没有价值,也很危险。如果您打开了“关闭”按钮 把它关掉 它是一个毫无价值的“特性”,永远不应该以实现它的形式添加到Access中
不要在关闭时使用紧凑型。这既没有价值,也很危险。尝试关闭所有表单并从命令窗口运行docmd.quit,以查看是否会出现相同的行为 如果不是,则可能是某个窗体中的某个拆卸代码在关闭该窗体时执行。我以前见过这种类型的代码进入无限循环,或者在具有循环依赖关系的对象中存在拆卸问题
如果这是问题所在,请对按下“退出”按钮时通常打开的每个表单重复上述步骤,直到再次出现,然后检查该表单销毁时运行的代码。尝试关闭所有表单并从命令窗口运行docmd.Quit,以查看是否有相同的行为 如果不是,则可能是某个窗体中的某个拆卸代码在关闭该窗体时执行。我以前见过这种类型的代码进入无限循环,或者在具有循环依赖关系的对象中存在拆卸问题
如果这是问题所在,请对每个通常在按下“退出”按钮时打开的表单重复上述步骤,直到再次出现,然后检查该表单销毁时运行的代码。在我的情况下,使用“CurrentDb”似乎阻止了对退出的访问。当我在应用程序开始时用一个全局变量替换它时,问题就消失了,比如
Set goDbs = CurrentDb
然后在我需要CurrentDb的地方使用“goDbs”…不知道为什么,但这解决了我的问题。在我的情况下,使用“CurrentDb”似乎阻止了退出。当我在应用程序开始时用一个全局变量替换它时,问题就消失了,比如
Set goDbs = CurrentDb
然后在我需要的地方用“上帝”