Я пытался отфильтровать результат запроса SQL с помощью поля со списком.Мне нужно, чтобы это было сделано с помощью AfterUpdate (), потому что мне нужно, чтобы он отображал все результаты (нефильтрованные), а затем, при желании, фильтровал на основе содержимого поля со списком.
Здесь «Cuadro_combinado30» - это имя поля со списком, а «Досье» - это имя поля, по которому я хочу фильтровать.
Private Sub Cuadro_combinado30_AfterUpdate()
Dim strFilter As String
With Me.Cuadro_combinado30
If IsNull(.Value) Or .Value = "**ALL**" Then
' If the combo box is cleared or ALL selected, clear the form filter.
Me.Filter = vbNullString
Me.FilterOn = False
Else
' item other than ALL is selected, filter for an exact match.
strFilter = "[Dossier] = '" & _
Replace(.Value, "'", "''") & "'"
Debug.Print strFilter ' check this in Immediate window in case of
' trouble you can use Ctrl+g to go to the Immediate window
Me.Filter = strFilter
Me.FilterOn = True
End If
End With
End Sub
До сих пор результат был таким, чтокогда я вхожу в форму, отображаются все результаты, но когда я выбираю один параметр в поле со списком, чтобы отфильтровать результаты, то, похоже, запрос ничего не находит, так как результат не отображается.
Почемуэтот код не работает, и что я должен изменить, чтобы он работал?
Спасибо.
ОБНОВЛЕНИЕ: я пытался использовать текстовое поле вместо поля со списком, и это работает, когда я что-то набираю в текстовом поле, результаты фильтруются на основе того, что я только что написал.Я предполагаю, что это связано с тем, как создается поле со списком, кажется, что даже когда поле со списком показывает содержимое, фильтр находит в нем значение NULL.