2009-10-01 65 views
0

我已经继承了一些古老的Microsoft Access 2000数据库应用程序,我需要对它们进行逆向工程以支持它们并开发替代品。 我的问题是,我似乎无法得到调试器踢。如何在Microsoft Access 2000中调试事件处理程序?

系统中的大多数代码是在FormLoad,ButtonClick等事件,所以这就是我需要的能够调试。

我用Alt + F11打开代码编辑器,并在给定表单的FormLoad中设置一个断点。为了确保这将“触发”我然后使用立即窗口做

?OpenForm("formname") 

但我的断点被忽略。我可以将一个MsgBox放在那里,它会触发,我可以使用Debug.Print,它将打印到立即窗口 - 但我无法逐句通过代码。 我试图把下面的代码,以及查看是否有任何的它会触发调试器(没有它的工作原理):

Debug.Assert False 

Stop 

On Error Goto 0 
Dim T as Integer 
T = 1 /0 

最后一个只是停止执行代码,并打开窗体 - 但没有调试器的喜悦。

我想,不知何故,原始的开发人员禁用数据库中的调试器。或者,也许我只是做错了?

我的问题是:如何在Microsoft Access 2000中调试窗体事件?有什么神奇的我需要做?

+0

呃,“?的OpenForm(”表格名称“)”是不正确的Access语法。它是一个自定义函数吗?标准将是DoCmd.OpenForm“formname”,但DoCmd.OpenForm不是一个函数。如果你的问题没有废话,你可能会得到更好的答案。 – 2009-10-02 02:21:53

+0

它在直接窗口中使用,从我可以收集的是标准语法。 – Frans 2009-10-05 10:07:10

+0

再次,“OpenForm()”不是标​​准的Access函数/命令。 DoCmd.OpenForm存在,但它不是一个函数。它不能被称为“?DoCmd.OpenForm(”FormName“)”。 – 2009-11-20 03:37:34

回答

0

只是一个想法,你是在msaccess 2000或更高版本的应用程序中执行此操作。我不知道这个问题是否只发生在较新的应用程序中的老版本。

+0

我正在使用msaccess 2000 – Frans 2009-10-01 13:58:47