如何使用VBA / Access中的单击事件列表框进行'If statement'



我有一张有3个问题的表格。如果对方对第一个问题的回答是肯定的,那么他们必须从我的列表框中选择一些内容,或者键入自己的答案。我有一个按钮,他们在回答所有3个问题结束时按下这个按钮。有人能帮我吗?

Q1.你玩电子游戏吗?是/否选项组框

Q2.什么视频游戏?列表框(Game1/Game2/Game3(

Q3.其他游戏:纯文本

我还没有开始在第三季度将其添加到组合中,因为我无法使其与第二季度一起工作。有人能帮我吗?

提交按钮代码

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

您的Submit_Button_Click()中有不少问题。您需要将MsgBox是/否点击(响应(存储到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也使用了错误的比较运算符-将其更改为<>(不等于,而不是大于>(。

最新更新