Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

ON ERROR GOTO 进一步问题

pc高手  发表于:2008-02-24 22:23:07  
复制

在每个过程中,都有出错处理程序。
Private Sub cmd最后查看_Click()
On Error GoTo ErrA
    ''' 正文程序
    DoCmd.OpenTable strMB, acViewNormal, acReadOnly
ExitA:
    Exit Sub
ErrA:
    Select Case Err.Number
    Case 2495
    Case Else
        MsgBox err.Number & "," & Err.Description
    End Select
    Resume ExitA
End Sub
 一旦发生错误, 就会调用 ON ERROR ,用  MsgBox err.Number & "," & Err.Description 提示,
并可以根据err.number , 进行 CASE 的出错专用提示给客户。 但是有些错误提示,系统直接提示,不走
ON ERROR GOTO ! 例如: 表字段设置的一些违规。 我无论如何也找不到系统的这个提示在哪里,我如何
去控制,如何加入自己写的代码???  
 

急急急!!!

请高手指教! 谢谢!

park05@sina.com

 

Top
探花 发表于:2008-02-25 12:19:18

用AccessError方法,具体的例子可以按F1参看示例,该方法适用于DAO,不适用于ADO。

 

如果VBA编辑器中的选项你已更改过,注意VBA“工具”菜单“选项”的“通用”选项卡中

 

错误捕获选项设为“遇到未处理的错误时中断”。



pc高手 发表于:2008-02-25 16:12:05

在“通用”选项卡中, 3个选项,我早已 试过了, 都不行。  第一个立即起作用, 第 2 ,3 几乎没有区别!

看看, 还有没有更底层的设置。

一定会有的, 我相信。 现在就是没有找到。 问问微软的人, 能不能解决, 这个问题不涉及微软的技术专利。

我相信,你们一定能够解决的!!!



探花 发表于:2008-02-25 17:36:57

用AccessError方法

 

你在VBA中用了这个方法了没?



探花 发表于:2008-02-25 17:38:40

那个选项的设置,只是其次,关键是你要在VBA中用那个方法捕获系统错误



pc高手 发表于:2008-02-25 18:19:50

用AccessError方法

 

你在VBA中用了这个方法了没?

 

===

请问:  “用AccessError方法” ? 如何使用? 在哪里写代码??  请进一步指教! 谢谢!



pc高手 发表于:2008-02-25 20:03:54

我研究了一下 AccessError 方法:

Function ErrorString(lngError As Long) As String
    Const conAppError = "Application-defined or " & "object-defined error"

    On Error Resume Next
    Err.Raise lngError
    If Err.Description = conAppError Then
        ErrorString = AccessError(lngError)
    ElseIf Err.Description = "" Then
        MsgBox "No error string associated with this number."
    Else
        ErrorString = Err.Description
    End If
End Function


但是没有解决问题。 因为我不是要找“错误信息--Description ” , 而是要找错误号码,更重要的是根据错误号码,

我自己写错误提示信息,这个信息是给用户看的。
ACCESS 能够在系统里提示用户出现了什么样的错误,就一定会有机会让程序员
去写自己的代码。 如同 ON ERROR GOTO ...一样。


 



pc高手 发表于:2008-02-27 19:16:13
已经好几天了! 还是没有人能解决这个问题!?

总记录:7篇  页次:1/1 9 1 :