Есть ленточная форма, источник записей - поля двух таблиц: Квартиры(Код,Район,Адрес,Цена,..) и Районы(Код,Район), между ними связь - Районы.Код с Квартиры.Район, ну вроде понятно. В область данных выведены все поля таблицы Квартиры, ну естественно поле Район в виде поля со списком. В загаловок формы выставил дополнительное поле со списком [Список_районов], источником записей которого является таблица Районы, т.е. нужно отфильтровать данные в форме по районам. Использовал функции Filter и FilterOn, повесив на него событие:
Private Sub Список_районов_AfterUpdate()
'последней записью в Районы.Район я прописал _
'значение "Все_районы", ну чтобы отменить фильтр
If Me![Список_районов] = 11 Then
Me.Form.FilterOn = False
Else
Me.Form.Filter = "Район = " & Me![Список_районов]
Me.Form.FilterOn = True
End If
End Sub
|
В этом случае при выборе значения из списка, выходит окно 'Введите значение параметра' Район , жму отмену, ну естественно 'Предыдущая операция была блаблабла',в дебаге гляжу: Районы = 1, Me![Список_районов]="5", ну хорошо, попробовал по другому:
Me.Form.Filter = "Район = '" & Me![Список_районов] & "'" |
ну теперь уже вроде должно фильтроваться но нет, фильтр: Me.Form.Filter = "Район = '5'" и ни фига. Ну может в несходстве типах чтоли?
Ладно,дополнительно вывел поле РайоныРайон (таб. Районы.Район), ну в нем то хоть все в виде текста должно же быть,переписал событие уже так:
Dim filter As String 'решил добавить переменную, хотя толку от этого
filter = Me![Список_районов].Column(1)
Me.Form.Filter = "РайоныРайон = '" & filter & "'"
|
и опять тоже самое, в дебаге: Me.Form.Filter = "РайоныРайон = 'Досааф'", и не фильтрует. Ну ей богу должен же быть какой нить способ, столько топиков перерыл. Может что упустил. Помогите разобраться.