Фильтрация со списком в Access не работает должным образом - PullRequest
0 голосов
/ 06 февраля 2019

Я пытался отфильтровать результат запроса 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.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Оказалось, что поле со списком имеет 2 столбца вместо одного, решение @Santosh работало отлично:

 Replace(.Column(1), "'", "''")
0 голосов
/ 06 февраля 2019

Изменение комбинированных свойств на один столбец должно решить проблему

...