如何解决如何使用 VBA/Access 中的点击事件列表框执行“If 语句”
我有一个包含 3 个问题的表格。如果此人对第一个问题的回答是肯定的,则他们必须从我的列表框中选择一些内容或输入他们自己的答案。我有一个按钮,他们在回答所有 3 个触发此问题的问题结束时按下该按钮。有人能帮我解决这个问题吗?
第一季度。你玩电子游戏吗?是/否选项组框
第 2 季度。什么视频游戏?列表框 (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
解决方法
您的 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
If SelectedValues>"" Then
中的行 Games Click()
也使用了错误的比较运算符 - 将其更改为 <>
(不等于,而不是 >
大于)。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。