Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA中的宏错误与错误_Vba_Ms Access - Fatal编程技术网

VBA中的宏错误与错误

VBA中的宏错误与错误,vba,ms-access,Vba,Ms Access,什么时候在Access VBA代码中使用宏错误 我一直使用Err对象进行错误处理。我最近遇到一些VBA代码,它使用了MacroError对象。我阅读了这个对象上的MS文档,它有一个注释: 宏错误对象不包含有关运行Visual Basic for Applications(VBA)代码时发生的运行时错误的信息 这很奇怪,因为我刚才看到的MacroError的用法是在VBA过程中使用的,它是在调用DoCmd检查是否存在MacroError.Number 0之后使用的。我们不应该为此使用Err 参考:

什么时候在Access VBA代码中使用
宏错误

我一直使用
Err
对象进行错误处理。我最近遇到一些VBA代码,它使用了
MacroError
对象。我阅读了这个对象上的MS文档,它有一个注释:

宏错误对象不包含有关运行Visual Basic for Applications(VBA)代码时发生的运行时错误的信息

这很奇怪,因为我刚才看到的
MacroError
的用法是在VBA过程中使用的,它是在调用
DoCmd
检查
是否存在MacroError.Number 0
之后使用的。我们不应该为此使用
Err

参考:

Access宏能够流入VBA并再次返回

MacroError
对象允许您从VBA检查宏部件中的错误

如果您只使用VBA,您将永远不会需要它。对于VBA,只有使用常规的
Err
对象进行错误处理


如果宏中有一个错误,然后VBA中有一个错误,那么每个对象中可能会出现两个不同的错误。

文档似乎不一致:“当宏中发生错误时,有关错误的信息存储在宏错误对象中。。。宏错误对象不包含有关运行Visual Basic for Applications(VBA)代码时发生的运行时错误的信息。“再仔细看一看,似乎这些都是用于VBA代码的,因此试图将它们用作VBA代码中
Err
的替代方案是错误的。VBA
MacroError
对象似乎适用于同时使用VBA和非VBA宏的用例。谢谢John。我不会那么做的。我已经用我的正常错误处理代码替换了该代码。你的评论可能就是答案。