Access交流中心

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

自定义错误信息

李双军  发表于:2007-11-23 17:00:58  
复制

一个子窗体中的数据有一个不能为空,自定义错误信息怎么写代码呢


Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Const conDuplicateKey = 3022
    Dim strMsg As String
    If DataErr = conDuplicateKey Then
        Response = acDataErrContinue
        strMsg = "商品名称不允许重复," _
               & "请重新输入商品名称!"
               Me.商品名称.SetFocus
        MsgBox strMsg, vbCritical, "提示"
    End If
End Sub
这是不能重复的代码,那不能为空如何写呢

 

Top
竹笛 发表于:2007-11-23 17:04:41

在最后一个控件(文本框\组合框)的更新后事件判断:

if isnull(me.控件名称) then

msgbox "某某数据不能为空"

end if



李双军 发表于:2007-11-23 17:09:18

因为我是在表中就设好了不能为空

这样在窗体中跳到下一条记录时就会出现一个提示窗体

这样很不美观,有没有像上面那样代码一样的自定义的呢



Victor Duane 发表于:2007-11-23 17:54:39

可以引发一个错误,得到你要的错误号,进行处理就可以了



李双军 发表于:2007-11-23 17:59:32

可否提供VBA代码

我在表中设置的为必填字段,那这个错误号是什么



Victor Duane 发表于:2007-11-23 21:42:58

这个错误号为3314

你可以用以下代码得到错误号

Private Sub Form_Error(DataErr As Integer, Response As Integer)
On Error GoTo err_handler
err_handler:
MsgBox DataErr
End Sub

 



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