database - MS Access:使用 VBA 使用多选列表框更改查询
问题描述
我正在尝试根据多选列表框的选择进行更改的查询。
我的代码适用于 1 个项目,但如果您尝试选择多个项目,它就无法正常工作。
Private Sub Toggle7_Click()
Dim strSQL As String
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = Application.CurrentDb
Set qdf = db.QueryDefs("SSSBasic")
Dim Criteria1 As String
Dim strList As String
Dim FstrList As String
Dim varSelected As Variant
'Criteria1 = Me.List_Group
Dim ctl As Control
Set ctl = Me!List_Group
If ctl.ItemsSelected.Count = 0 Then
MsgBox "You haven't selected anything"
Else
For Each varSelected In ctl.ItemsSelected
strList = strList & ctl.ItemData(varSelected) & " Or "
Next varSelected
FstrList = Left$(strList, Len(strList) - 4)
'MsgBox "You selected the following items:" & vbCrLf & FstrList
End If
strSQL = "SELECT * FROM SSSTable WHERE (SSSTable.Group = """ & FstrList & """)"
qdf.SQL = strSQL
DoCmd.OpenQuery "SSSBasic"
End Sub
当我从列表框中选择 Proc 和 Non-Proc 时,代码将运行,但我得到零记录。这就是 SQL 的样子:
SELECT *
FROM SSSTable
WHERE (((SSSTable.Group)="Proc Or Non-Proc"));
我无法弄清楚如何让它工作......
谢谢您的帮助!
解决方案
推荐阅读
- javascript - 赛普拉斯“get”是否按照元素出现在 HTML 文档中的顺序返回元素?
- node.js - 节点/快递错误,RangeError [ERR_HTTP_INVALID_STATUS_CODE]:无效状态代码:ENOENT
- android - 由于 Activity 意图,Android 通知点击导致应用程序崩溃
- delphi - 在 Delphi Rio (10.3.3) 中,当宏为 NULL 时,fdQuery 无法正确转换条件函数 'iif'
- python - 根据第三列中的条件合并两个数据框
- powershell - 将列表传递给函数
- mysql - 使用时区进行查询的最佳方法
- reactjs - 使用没有离子的电容器社区/admob
- docker - Docker内部网络和要连接的外部系统在同一范围内,即172.160.0.0/16
- c# - 替换 Rhino 模拟 GetArgumentsForCallsMadeOn() 用于 Moq Callback() 不接收原始参数