Microsoft在VBA中为MSAccess访问“End Sub”时崩溃

时间:2016-05-08 14:20:08

标签: vba ms-access

我遇到了一个向公司记录添加源关联的表单的问题。在主窗体中,用户指定要关联的源名称,然后打开此窗体以允许用户确认名称,并选择一年,如果该名称与其关联的时间超过1年。当用户单击“继续”时,代码会检查关联是否已存在,源是否有多年,如果是,则用户是否选择了与关联名称放置的年份。如果没有多个记录(即名称只有一年),则“继续”按钮工作正常,但是当用户必须选择年份值时,“继续”按钮正常工作并完成其工作,进入新关联进入数据库,直到它到达Exit_cmdAssign_Click行下的Exit子行,然后整个Access停止。我收到一个消息框,说“微软已停止工作”,它备份数据库并最终重新打开它。有一次,当它停止时它给了我一个在Visual Studio中调试的选项,但在那里,找到调试所需的文件时遇到了问题。在我尝试调试之前,它说:“在DWWIN.EXE [8940]中发生了未处理的win32异常。”
当一个额外的变量包含在一个方程式中时,有没有人知道一个exit sub如何导致这样的崩溃,这个变量实际上按预期运行,但是这似乎会导致退出sub的问题?

1 个答案:

答案 0 :(得分:1)

Access崩溃不是您可以通过更改VBA代码修复的常规错误。无论你的代码是什么,在任何情况下都不应该发生这种情况。

也就是说,Access 会不时发生崩溃。大多数情况下,原因在于编译状态不一致。通过反编译数据库可以很容易地解决这个问题。按照此处的说明操作:https://stackoverflow.com/a/3266849/6216216

在反编译之前,请确保您拥有数据库的备份副本。