作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在连接到 SQL Server 后端的 Access 应用程序中设置错误处理,以防止 Access 将空主键传递给服务器。
我正在使用 BeforeUpdate 和基于 Properly Handling Errors in VBA (Excel) 的代码
如果用户将 S_ID 设置为空(或在创建新记录时将其保留为空),我的代码应该运行 ErrHandler 代码。但它始终运行 ErrHandler 代码。
Private Sub S_ID_BeforeUpdate(Cancel As Integer)
Dim trigger As Integer
On Error GoTo ErrHandler
If Me.S_ID Is Null Then
trigger = 1 / 0
End If
Exit Sub
ErrHandler:
MsgBox ("Key was null, fix it")
Resume Resume_spot
Resume_spot:
End Sub
我还没有编写发生错误时我希望 Access 执行的操作的代码,因此 MsgBox
没有用,Resume_spot
之后也没有任何内容。在此之前,我想让错误处理正确触发。
最佳答案
你需要使用IsNull
改变:
If Me.S_ID Is Null Then
收件人:
If IsNull(Me.S_ID) Then
关于vba - 为什么 'On Error' 总是像键为空一样触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39500157/
我是一名优秀的程序员,十分优秀!