错误GoTo不工作; 代码中断

rde*_*itt 5 error-handling ms-access vba access-vba

我正在编写一个VBA函数,用于将数据从一个表导入到Access中的另一个表.我导入的表有更严格的数据约束(即类型,大小等),所以我期待很多错误.

我不希望筛选出现的每个VBA错误,而是希望我的记录集循环跳过整个当前记录,并在遇到错误时在单独的表中记录它.所以我插入了其他每一行On Error GoTo RecordError.但由于某种原因,它并没有处理每一个错误.我的代码只是打破并告诉我错误是什么.我已经选中了"未处理的异常中断"选项.

这是一个应该解释它的截图. 即使它本身,这个截图似乎对我没有意义.

为什么它会在错误处理程序之后立即打破?

Dav*_*nan 1

您需要将该On Error行放在要处理其错误的代码之前。

更重要的是,您只需要一根On Error线。然后,错误处理程序将保持活动状态,直到子例程退出或执行另一条On Error语句。