jxawgyl 发表于 2008-7-1 10:31

如何屏避错误

如何屏避VB中报出的错误信息?

永夜的极光 发表于 2008-7-1 11:40

加一句on error resume next
加在会出错的语句前面,每个函数中只要有一句就行
还有其它的,比如on error goto XXX,可以在出错的时候,跳转到指定的语句

jxawgyl 发表于 2008-7-1 14:56

我试了还是不行,请版主检查
Private Sub Command5_Click()
'判断是否选择了表中的一行
  If Adodc4.Recordset.EOF = True Or Adodc4.Recordset.BOF = True Then
    MsgBox "请选择做检查人员的列"
    Exit Sub
  End If
    With Adodc4
   .Recordset.Fields("TFSign") = 1     '修改数据值
   '.Recordset.Fields("sendtime") = Now()
   '修改数据
   On Error Resume Next
   .Recordset.Update
   '刷新纪录
   .Recordset.Requery
   End With
   With Adodc6
   .Recordset.Requery
   End With
   With Adodc5
   .Recordset.Requery
   End With
End Sub
以前是修改时出现报错,要求调试,但可以修改成,现加上后还是出现报错误:
“DataGrid控件 键列信息不足或不正确,更新影响到多行。“
点第一次时可以修改,以后反复出现以上提示并不能修改数据,
最好是将以上提示给屏避并可多次修改,
请版主再抽出时间帮个忙看一看,先谢了。

永夜的极光 发表于 2008-7-1 16:30

"以前是修改时出现报错,要求调试,但可以修改成"
这句是啥意思?

jxawgyl 发表于 2008-7-1 17:28

"以前是修改时出现报错,要求调试,但可以修改成"
是出现错误信息后,要求调试,再重新进入的话,可以看到修改后的数据。
现加上” On Error Resume Next
后没有出现要求调试的窗口,但出现
“DataGrid控件 键列信息不足或不正确,更新影响到多行。“
不用重新进入,

mnb1478 发表于 2008-7-1 17:41

谢谢提醒


[img]http://www.cghp.net/images/DZ/sigline.gif[/img]
[url=http://www.511h.com/0/30/index.htm]混在三国当军阀[/url]

jxyga111 发表于 2008-7-1 19:08

有错误提示还不好啊,让你知道错在那啊

multiple1902 发表于 2008-7-1 19:11

除非错误是必须使用的,才用这种方法避免错误。

建议把On Error语句放到Sub开头,因为你放在With块中我也不晓得作用域多大

jxawgyl 发表于 2008-7-1 19:33

建议把On Error语句放到Sub开头
也是一样,每点击数据行时都不出现错误信息提示,并不能修改数据

multiple1902 发表于 2008-7-1 19:46

不晓得你想干什么呢……人家就是因为没法更新数据才告诉你出错了,你要把出错信息隐藏掉,然后还抱怨……

jxawgyl 发表于 2008-7-1 20:11

不是的,除非错误是必须使用的
因为修改这个数据时,会同时提示影响到多行,(我在查询分析器试了)我要的是这个修改结果,不管它的报错,也就是说只要能修改就可。没有报错误的提示,有办法吗?请指教。

[[it] 本帖最后由 jxawgyl 于 2008-7-1 20:16 编辑 [/it]]

页: [1]

编程论坛