【问题标题】:VBA Access Message Box woesVBA 访问消息框问题
【发布时间】:2018-05-26 16:31:48
【问题描述】:

我在执行脚本之前遵循了一些关于如何弹出确认框的简单 cmet,但遗憾的是,如果我按下是,脚本不会运行。

Private Sub Overwrite_Btn_Click()
    If MsgBox("Yes?", vbOKCancel) = ok Then
        Me.Product_Quantity = Me.Quantity_Input
    Else
        Exit Sub
    End If
End Sub

我正在尝试将Product_Quantity 设置为等于Quantity_Input,尽管它可以在没有 MsgBox 命令的情况下工作,但它不能。

我做错了什么?

【问题讨论】:

    标签: vba msgbox


    【解决方案1】:

    代替If MsgBox("Yes?", vbOKCancel) = ok Then试试:If MsgBox("Yes?", vbOKCancel) = vbOK Then

    通常,与表单的交互会从一组常量中返回一个常量。这些被分类在枚举中。在这种情况下,VbMsgBoxResult 类中有几个常量,vbOK 是一个值为 1 的常量,它是通过单击确定按钮返回的。

    实际上,If MsgBox("Yes?", vbOKCancel) = 1 Then 也可以,但很难记住单击 Ok 返回 1,然后简单地声明一个名为 vbOK 的常量

    在对象资源管理器(VBE 上的 F2)中,搜索 VbMsgBoxResult 将给出与消息框交互产生的所有可能结果。

    【讨论】:

      【解决方案2】:

      https://www.techonthenet.com/access/constants/msgbox_ret.php

      1) 将变量调暗为整数。

      2) 检查整数值是否等于 6,或检查 vbYess

      3) ?????

      4) 利润

      从链接借来的

       Dim LResponse As Integer
      
       LResponse = MsgBox("Do you wish to continue?", vbYesNo, "Continue")
      
       If LResponse = vbYes Then
          {...statements...}
       Else
          {...statements...}
       End If
      

      【讨论】:

        【解决方案3】:

        单行:

        If MsgBox("Yes?", vbOKCancel) <> vbOk then Exit Sub
        
        'continue code here.
        

        更多信息:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多