请教高手:access环境下 DoCmd.RunSQL update语句执行错误如何捕获?

lll_j 2007-11-09 09:51:29
开发环境:access
执行代码:

Function 宏2runsql_update(i, j) As String
On Error GoTo 宏2runsql_update_Err

SQL = "UPDATE 表1 SET 表1.准考证号 =" & i & " WHERE ((表1.考试编号=" & j & "))"
MsgBox SQL

DoCmd.RunSQL SQL

宏2runsql_update_Exit:
Exit Function

宏2runsql_update_Err:
宏2runsql_update = "SQL执行出错!"
Exit Function
End Function

在显示“SQL执行出错!”错误提示前系统就报出了下面这条错误信息(我做了适当的删减):

“不能在更新查询中更新全部记录。。。。。不能更新1个记录是因为键值冲突。。。。。是否继续执行这个类型的查询操作。。。。”

请问:1、如何屏蔽或是捕获上面的错误提示
2、我想让程序发生此错误后就不再执行此查询操作,就好像我点击了上面错误提示窗口中的“否”按钮一样,应该如何编码
谢谢大家!



...全文
431 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2007-11-17
  • 打赏
  • 举报
回复
On Error Resume Next

表示遇到错误不做任何提示
WWWWA 2007-11-12
  • 打赏
  • 举报
回复
捕捉不到这种错误--似乎默认执行了选择“是”的方向
调试可以捕捉错误,示例:
On Error Resume Next
DoCmd.RunSQL "SELECT *"
OracleRoob 2007-11-12
  • 打赏
  • 举报
回复
除了On error 没有其他办法。

应该做好事前的数据检查,再执行追加SQL语句。
lll_j 2007-11-12
  • 打赏
  • 举报
回复
谢谢两位,Docmd.SetWarnings False 的确能屏蔽这种错误,问题1解决。
请问问题2有没有解决方法,如果用on error 具体应该怎样写,on error 捕捉不到这种错误--似乎默认执行了选择“是”的方向。有没有其他的方法?谢谢!
WWWWA 2007-11-12
  • 打赏
  • 举报
回复
1、用 ON ERROR命令;
2、DoCmd.SetWarnings False
OracleRoob 2007-11-11
  • 打赏
  • 举报
回复
DoCmd.SetWarnings False

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧