Почему-то свойство Filter для рекордсета не хочет работать.

_Вопрос?
Дата: 27.12.2011 20:35:19
Хочу задать условие отбора:
Set rst = CurrentDb.OpenRecordset("tmp_Main")
rst.Filter = "[Характеристика]='Код Фирмы'"
Set rstFilter = rst.OpenRecordset
На предпоследней строке получаю: "Операция не поддерживается для объектов этого типа".
Какого "этого"? tmp_Main - обычная табличка
nord-woolf
Дата: 27.12.2011 20:56:53
_Вопрос?
...
Какого "этого"? ...

Видимо, не такого, которого рекомендует справка:
Use the Filter property to apply a filter to a dynaset-, snapshot-, or forward-only–type Recordset object.
Анатолий ( Киев )
Дата: 27.12.2011 21:06:15
_Вопрос?
Хочу задать условие отбора:
Set rst = CurrentDb.OpenRecordset("tmp_Main")
rst.Filter = "[Характеристика]='Код Фирмы'"
Set rstFilter = rst.OpenRecordset
На предпоследней строке получаю: "Операция не поддерживается для объектов этого типа".
Какого "этого"? tmp_Main - обычная табличка


Если tmp_Main - родная (не прилинкованная) таблица, то Recordset в вашем случае получается типа dbOpenTable.
Справка
Свойство Filter позволяет применить фильтр к объекту Recordset типа динамического набора записей, статического набора записей или статического набора записей с последовательным доступом.
Т.е. любой, кроме dbOpenDynamic и того, что имеете вы.
Попробуйте так:
Set rst = CurrentDb.OpenRecordset("tmp_Main",dbOpenDynaset)
...

И имейте ввиду:
Справка
Во многих случае можно быстрее открыть новый объект Recordset с помощью инструкции SQL, содержащей предложение WHERE.
_Вопрос?
Дата: 28.12.2011 12:47:30
с dbOpenDynaset заработало! Спасибо!