注释Access 2016中无法编译的现有代码是否存在风险?
Access 2016 编译错误相关问题解答
1. 无法编译的代码能不能在Access 2016中运行?
绝对不行。Access的VBA虽说是解释型语言,但编译错误本质是语法错误、引用缺失(比如某个控件库、外部组件没安装)、变量/对象未定义这类根本性问题——连编译这关都过不了,代码根本不会被执行。而且如果这些错误代码是宏、报表或者其他正常代码的依赖项,调用它们的时候会直接弹出运行时错误,甚至导致整个数据库卡顿或崩溃。
2. 有没有能正常工作的旧编译二进制文件?
Access确实会把编译后的伪代码(P-code)存在数据库里,但这东西极度依赖当前的运行环境。你现在出现编译错误,大概率是环境变了——比如升级了Office组件、丢失了某个外部引用、数据库文件损坏了一部分。这种情况下,旧的P-code要么已经被覆盖,要么因为环境不匹配根本跑不起来,别指望它能救场。
3. 注释掉触发编译错误的代码会不会破坏正常功能?
分两种情况,但整体来说是安全的:
- 如果错误代码是孤立的(没有任何正常功能的代码调用它):注释掉完全没问题,因为这些代码本来就编译失败,根本没在运行,注释后不会对现有正常功能造成任何影响。
- 如果错误代码被其他正常代码引用:注释掉之后,调用它的地方会弹出“子程序或函数未定义”之类的错误。这时候你需要同步处理那些调用语句——要么注释掉调用,要么替换成可用的逻辑。但这不是注释错误代码的锅,而是原本的依赖链就断了,只是编译错误把问题暴露出来而已。
总结一下:优先排查编译错误的根源(比如检查引用、修复语法),如果暂时没法解决,注释孤立的错误代码是完全安全的;如果是被引用的,记得处理调用端的代码就行。
内容的提问来源于stack exchange,提问作者Kevin R. M.
相关产品推荐
相关产品推荐

