【问题标题】:How to do 'If statement' with an on click event list box in VBA/Access如何在 VBA/Access 中使用单击事件列表框执行“If 语句”
【发布时间】:2021-09-24 21:20:38
【问题描述】:

我有一个包含 3 个问题的表格。如果这个人对第一个问题的回答是肯定的,那么他们必须从我的列表框中选择一些东西或输入他们自己的答案。我有一个按钮,他们在回答触发此问题的所有 3 个问题结束时按下。有人能帮我解决这个问题吗?

第一季度。你玩电子游戏吗?是/否选项组框

第二季度。什么视频游戏?列表框(Game1/Game2/Game3)

第三季度。其他游戏:纯文本

我还没有开始着手将 Q3 添加到组合中,因为我无法让它与 Q2 一起使用。 谁能帮帮我?

提交按钮代码

Private Sub Submit_Button_Click()
Dim MyDB As DAO.Database
Dim qdef AS DAO.QueryDef

        Dim Msg,Syle,Title,Help, Ctxt, Response,Mystring
        Msg="Confirm your choices?"
        Response = MsgBox(Msg, Style,Title)
        If Response=vbYes Then
                If isNull(Me.game_response.value)  and (Me.play_response)=1
                Then MsgBox "Please Pick a Game"
    Exit Sub
    End If

列表框代码

Private Sub Games Click()
Dim MyDB AS DAO.Database
Dim qdef AS DAO.QueryDef
Dim VarItem As Variant
Dim lstItem As Control
Set lstItem as Me!Games

For Each varItem in lstItems.ItemsSelected
        If SelectedValues>"" Then
                SelectedValues=SelectedValues&"|" lstItem.ItemData(VarItem)
        Else 
             SelectValues=lstItems.ItemData(varItem)
        End If
Next varItem

Me!game_response=SelectedValue

【问题讨论】:

    标签: vba ms-access onclick listbox


    【解决方案1】:

    您的Submit_Button_Click() 中有很多问题。您需要将 MsgBox Yes/No click (response) 存储到您的 Response 变量中,然后您可以在您的 If() 中使用它来与 vbYes/vbNo 进行比较。

    更新/修复示例:

    Private Sub Submit_Button_Click()
    
        Dim MyDB As DAO.Database
        Dim qdef As DAO.QueryDef
        Dim Response As Long
    
        Response = MsgBox("Confirm your choices?", vbYesNo)
    
        If Response = vbYes Then
            If isNull(Me.game_response.value) And (Me.play_response) = 1 Then
                MsgBox "Please Pick a Game"
            End If
        End If
    

    Games Click() 中的行 If SelectedValues>"" Then 也使用了错误的比较运算符 - 将其更改为 <>(不等于,而不是 > 大于)。

    【讨论】:

    • 您好感谢您的回复,但它仍然不起作用。关于声明 'response' 变量的部分很有帮助,我实际上忘记将其复制过来并将对其进行编辑。我不认为我想更改比较运算符,它工作正常,如果它大于 0,我想连接 ..
    猜你喜欢
    • 1970-01-01
    • 2015-03-26
    • 2012-04-27
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多