MS Access: используйте VBA для изменения запроса с помощью списка множественного выбора - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь выполнить запрос, который изменяется в зависимости от выбора списка с несколькими вариантами выбора.

Мой код отлично работает для 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"));

Я не могу понять, как заставить его работать ...

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...