Microsoft Visual Basic运行时错误

弗朗西斯·杰西

我正在使用MS Access 2007和VBA。我有一段代码,当数量大于库存或库存为零时触发。

Private Sub Quantity_BeforeUpdate(Cancel As Integer)
    If Me.Quantity > Me.Stock Or Me.Stock = 0 Then
        MsgBox "Not enough stocks left."
        Me.Quantity = ""
    End If
End Sub

出现消息框,但随后出现错误消息:

Run-time error '2147352567 (80020009)':

The macro or function set to BeforeUpdate or ValidationRule property for this field is preventing Microsoft Office Access from saving the data in the field.

如何停止此错误?

汉素

控件的更新前事件不允许您将其更改为任何值。此时,您有2个选择:

  1. 调用Cancel,然后调用Undo将其值恢复为尝试更新之前的值
  2. Cancel调用,将新值(不可接受的值)保留在适当的位置,但在继续操作之前迫使用户将其替换为可接受的值

这是第一个选项的经过测试的示例代码。如果您喜欢第二种选择,则放弃该Me.Quantity.Undo行。

Private Sub Quantity_BeforeUpdate(Cancel As Integer)
    If Me.Quantity > Me.Stock Or Me.Stock = 0 Then
        MsgBox "Not enough stocks left."
        'Me.Quantity = "" ' <-- NOT ALLOWED
        Cancel = True
        Me.Quantity.Undo
    End If
End Sub

Me.QuantityMe.Stock是包含数字的文本值时,情况更加复杂。如果是我,我希望将其数据类型更改为数字。但是,如果这种更改不切实际,则可以使用Val()将文本值转换为实际数字进行比较。

Private Sub Quantity_BeforeUpdate(Cancel As Integer)
    If Val(Me.Quantity) > Val(Me.Stock) Or Val(Me.Stock) = 0 Then
        MsgBox "Not enough stocks left."
        'Me.Quantity = "" ' <-- NOT ALLOWED
        Cancel = True
        Me.Quantity.Undo
    End If
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Microsoft Visual Basic,运行时错误 424:需要对象

来自分类Dev

Visual Basic 6.0中运行时错误“ 6”溢出

来自分类Dev

0xc000007b 错误和 Microsoft Visual C++ 2010 x86 运行时

来自分类Dev

运行时错误3061 Microsoft访问

来自分类Dev

安装 Microsoft.Azure.SignalR.AspNet 会导致方法在部署到服务器时未实现运行时错误,但在 Visual Studio 2017 上运行良好

来自分类Dev

Microsoft Visual Basic

来自分类Dev

System.Data.Sqlite-无法安装Microsoft Visual C ++运行时

来自分类Dev

Microsoft Visual C ++运行时版本?我需要全部保留吗?

来自分类Dev

Microsoft VBScript运行时错误:输入文件末尾错误

来自分类Dev

对象预期的Microsoft Jscript运行时错误-Node js

来自分类Dev

Microsoft Access运行时错误DoCmd.GoToRecord,,acNext

来自分类Dev

Microsoft Visual C ++运行时程序包框架缺少清单中的框架依赖项声明

来自分类Dev

安装Visual Studio 2013 Ultimate时出错-Microsoft Visual C ++ 2013 x64分钟运行时-12.0.21005

来自分类Dev

安装Visual Studio 2013 Ultimate时出错-Microsoft Visual C ++ 2013 x64分钟运行时-12.0.21005

来自分类Dev

在Visual Basic(Visual Studio 2019)的运行时中创建的ListView中的索引选择

来自分类Dev

Microsoft Bond运行时schemaDef

来自分类Dev

在线Microsoft Docs Visual Basic.Net

来自分类Dev

在Visual Basic中在运行时将图像添加到ImageList

来自分类Dev

如何在Visual Basic中在运行时更改按钮上显示的图像?

来自分类Dev

运行时未部署Visual Studio

来自分类Dev

Microsoft VBScript运行时错误:创建CDONTS.NEWMAIL时权限被拒绝:'CreateObject'

来自分类Dev

Microsoft.AspNet.WebApi.HelpPage版本4.0.30506在运行时出现编译错误

来自分类Dev

Microsoft JScript运行时错误:“ data.EmployeeDetails.EmployeeId”为null或不是对象

来自分类Dev

Microsoft.AspNet.WebApi.HelpPage版本4.0.30506在运行时出现编译错误

来自分类Dev

microsoft jscript运行时错误'btn_click'未定义

来自分类Dev

Microsoft VBScript运行时错误:创建CDONTS.NEWMAIL时权限被拒绝:'CreateObject'

来自分类Dev

Microsoft JScript运行时错误:AngularJS v1.3.0-beta.11中的[$ injector:modulerr]

来自分类Dev

Microsoft VBScript运行时错误'800a01a8':必需的对象

来自分类Dev

解码函数并获取Microsoft VBScript运行时错误'800a000d'

Related 相关文章

  1. 1

    Microsoft Visual Basic,运行时错误 424:需要对象

  2. 2

    Visual Basic 6.0中运行时错误“ 6”溢出

  3. 3

    0xc000007b 错误和 Microsoft Visual C++ 2010 x86 运行时

  4. 4

    运行时错误3061 Microsoft访问

  5. 5

    安装 Microsoft.Azure.SignalR.AspNet 会导致方法在部署到服务器时未实现运行时错误,但在 Visual Studio 2017 上运行良好

  6. 6

    Microsoft Visual Basic

  7. 7

    System.Data.Sqlite-无法安装Microsoft Visual C ++运行时

  8. 8

    Microsoft Visual C ++运行时版本?我需要全部保留吗?

  9. 9

    Microsoft VBScript运行时错误:输入文件末尾错误

  10. 10

    对象预期的Microsoft Jscript运行时错误-Node js

  11. 11

    Microsoft Access运行时错误DoCmd.GoToRecord,,acNext

  12. 12

    Microsoft Visual C ++运行时程序包框架缺少清单中的框架依赖项声明

  13. 13

    安装Visual Studio 2013 Ultimate时出错-Microsoft Visual C ++ 2013 x64分钟运行时-12.0.21005

  14. 14

    安装Visual Studio 2013 Ultimate时出错-Microsoft Visual C ++ 2013 x64分钟运行时-12.0.21005

  15. 15

    在Visual Basic(Visual Studio 2019)的运行时中创建的ListView中的索引选择

  16. 16

    Microsoft Bond运行时schemaDef

  17. 17

    在线Microsoft Docs Visual Basic.Net

  18. 18

    在Visual Basic中在运行时将图像添加到ImageList

  19. 19

    如何在Visual Basic中在运行时更改按钮上显示的图像?

  20. 20

    运行时未部署Visual Studio

  21. 21

    Microsoft VBScript运行时错误:创建CDONTS.NEWMAIL时权限被拒绝:'CreateObject'

  22. 22

    Microsoft.AspNet.WebApi.HelpPage版本4.0.30506在运行时出现编译错误

  23. 23

    Microsoft JScript运行时错误:“ data.EmployeeDetails.EmployeeId”为null或不是对象

  24. 24

    Microsoft.AspNet.WebApi.HelpPage版本4.0.30506在运行时出现编译错误

  25. 25

    microsoft jscript运行时错误'btn_click'未定义

  26. 26

    Microsoft VBScript运行时错误:创建CDONTS.NEWMAIL时权限被拒绝:'CreateObject'

  27. 27

    Microsoft JScript运行时错误:AngularJS v1.3.0-beta.11中的[$ injector:modulerr]

  28. 28

    Microsoft VBScript运行时错误'800a01a8':必需的对象

  29. 29

    解码函数并获取Microsoft VBScript运行时错误'800a000d'

热门标签

归档