设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1120|回复: 2
打印 上一主题 下一主题

[模块/函数] 求助 红尘如烟 版主 的例子中的代码问题?谢谢先!!

[复制链接]
跳转到指定楼层
1#
发表于 2011-1-20 15:35:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是 版主 关于不按保存不保存的例子的 代码

Option Compare Database
Option Explicit
Dim blnAllowUpdate As Boolean   '是否允许保存对记录的修改
Private Sub cmdSave_Click()
On Error GoTo Err_cmdSave_Click
    blnAllowUpdate = True
    DoCmd.RunCommand acCmdSaveRecord
    blnAllowUpdate = False
Err_cmdSave_Click:

    Call Form_Error(Err.Number, acDataErrContinue)
此句是运行错误处理过程。
Form_Error(DataErr As Integer, Response As Integer)
=================================================
请问一下:
过程参数:DataErr=Err.Number  (这个参数【Err.Number  】应怎么找,主是要方法,我想用到一个更新前的过程,其中也代参数)
Response=acDataErrContinue (这个参数acDataErrContinue 应怎么找,主是要方法,我想用到一个更新前的过程,其中也代参数)
==================================================


End Sub
Private Sub cmdUndo_Click()
    Me.Undo
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If blnAllowUpdate = False Then Me.Undo
End Sub
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    Response = acDataErrContinue
    Select Case DataErr
    Case 3022
        MsgBox "您在不允许重复的字段中输入了重复的值,记录不能保存", vbCritical
    Case 3314
        MsgBox "必填项为空,记录不能保存", vbCritical
    Case Else
        Response = acDataErrDisplay
        MsgBox DataErr & Chr(13) & Err.Description
    End Select
End Sub
Private Sub 表1_子窗体_Enter()
Call cmdSave_Click
End Sub



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-1-22 15:48:27 | 只看该作者
Err.Number不需要找,这个是特定的对象,系统出错后就会生动设置Err对象,我们只需要读取它的相关属性就行了
acDataErrContinue 这个是一个常量,你按F2在对象浏览器中搜一下就行了
3#
 楼主| 发表于 2011-1-22 20:48:13 | 只看该作者
谢谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-14 23:35 , Processed in 0.111427 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表