标题: 可不可以禁止ACCESS本身的系统提示? [打印本页] 作者: tomshi 时间: 2002-3-14 23:04 标题: 可不可以禁止ACCESS本身的系统提示? 在ACCESS里面,有时会自动出来一个系统提示。
比如:当你设定某个字段为必填字段时,这时如果你在添加记录时,让这个字段为空时,系统就会跳出来一个错误提示来。
类似这样的系统提示能否人为的限制它,不让它出现,但可以允许自己写的提示框出现。
[em11]作者: yuab 时间: 2002-3-14 23:15
如果在表单中输入,还可以做错误提示:
一出现错误就用自已的错误处理:如下:
Private Sub ActiveX控件50_buttonclick(ByVal button As Object)
Select Case button.Key
Case "cmd_pass" '批核
On Error GoTo Err_pass
Dim Msg As String
Msg = MsgBox("您是否要批核这张单据?", vbInformation + vbYesNo, title:="批核提示")
If Msg = vbYes Then
'用ADO进行批核
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim rs3 As ADODB.Recordset
Set cn = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rs2 = New ADODB.Recordset
Set rs3 = New ADODB.Recordset
cn.BeginTrans
rs.Open "select 单据索引,项目编码,数量 from tbl_stk_单据细节 where 单据索引='" & Me.单据索引 & "'", cn, adOpenKeyset, adLockPessimistic
For a = 1 To rs.RecordCount
Select Case Me.录入仓库
Case "ME"
rs2.Open "select 项目编码,年 from tbl_stk_五金结存 where 项目编码='" & rs("项目编码") & "' and 年='" & Format(Me.交易日期, "yyyy") & "'", cn, adOpenKeyset, adLockPessimistic
rs3.Open "select 项目编码,五金结存,五金修理 from tbl_项目编码 where 项目编码='" & rs("项目编码") & "'", cn, adOpenKeyset, adLockPessimistic
If rs2.RecordCount = 0 Then
rs2.addnew
rs2("项目编码") = rs("项目编码")
rs2("年") = Format(Me.交易日期, "yyyy")
rs2.Update
End If
rs3("五金结存") = IIf(Me.交易编号 = "Fin" Or Me.交易编号 = "Ftin" Or Me.交易编号 = "In" Or Me.交易编号 = "Tin", rs3("五金结存") + rs("数量"), rs3("五金结存") - rs("数量"))
rs3.Update
rs2.close
rs3.close
rs.MoveNext Case "SE"
rs2.Open "select 项目编码,年 from tbl_stk_半成品结存 where 项目编码='" & rs("项目编码") & "' and 年='" & Format(Me.交易日期, "yyyy") & "'", cn, adOpenKeyset, adLockPessimistic
If rs2.RecordCount = 0 Then
rs2.addnew
rs2("项目编码") = rs("项目编码")
rs2("年") = Format(Me.交易日期, "yyyy")
rs2.Update
End If
rs3.Open "select 项目编码,半成品结存 from tbl_项目编码 where 项目编码='" & rs("项目编码") & "'", cn, adOpenKeyset, adLockPessimistic
rs3("半成品结存") = IIf(Me.交易编号 = "Fin" Or Me.交易编号 = "Ftin" Or Me.交易编号 = "In" Or Me.交易编号 = "Tin", rs3("半成品结存") + rs("数量"), rs3("半成品结存") - rs("数量"))
rs3.Update
rs2.close
rs3.close
rs.MoveNext
End Select
Next
If MsgBox("您是否储存批核后所作的修改吗?", vbInformation + vbYesNo, title:="储存批核") = vbYes Then
cn.CommitTrans
'Me.是否批核 = 1
MsgBox "单据已成功批核过帐,谢谢!!!", vbInformation, title:="批核成功"
Else
cn.RollbackTrans
Exit Sub
End If
ElseIf Msg = vbNo Then
Exit Sub
End If
GoTo Exit_toolbar
Err_pass:
MsgBox "无法预测的错误,发现这个问题请找设计人员解决。", vbInformation, title:="批核错误" ‘这一段就是自已的错误处理
End Select
Exit_toolbar:
End Sub 作者: tmtony 时间: 2002-3-15 04:06
yuab兄,你可真是耐心。
写了这么多例子代码上来
不过,我怕人家还没看到错误处理那段就可能晕过去啦,哈哈。 作者: tomshi 时间: 2002-3-15 16:51 标题: 可不可以禁止ACCESS本身的系统提示? 谢谢俩位仁兄,看了yuab的代码我差点真的晕了过去,不过看完tmtony的话我又醒过来了。哈哈!
不过说老实话,兄弟我实在太笨,还是没看懂。能否请有针对性的稍作一番解释。先谢过了。