Запрос из запроса

Mikolaf
Дата: 19.02.2008 02:07:05
Подскажите, пожалуйста, каким образом можно записать в recordset(или не в рекордсет а в переменную) данные SQL запроса, в поле FROM которого источником является сохраненный в Access запрос?

Конструкция типа:
Set rs = New ADODB.Recordset     
rs.CursorLocation = adUseClient     
rs.Open "SELECT [ЧТО-ТО] FROM [ИМЯ СОХРАНЕННОГО запроса]" , _     
CurrentProject.Connection, adOpenKeyset, adLockOptimistic
не работает!!!

И вобще Recordset, по ходу, не работает с сохраненным запросом, как источником данных!

Запрос сохранен ручками в самом Access, и там он работает без всяких проблем. Работает он собственно и из VBA, если его вызывать напрямую типа DoCmd.OpenQuery.

Проблема в том, что, по всей видимости, VBA не выполняет этот запрос для получения из него данных, а рассматривает как пустую таблицу или вобще не существующую, и, соответственно, не возвращает ничего.

Так вот вопрос в том, как бы выполнить этот запрос отличным от вышеприведенного метода, чтобы его можно было использовать как источник данных?

Подскажите, пожалуйста как это сделать !!!
Владимир Саныч
Дата: 19.02.2008 02:15:28
Откуда такие данные, непонятно. Наверно, у Вас где-то ошибка. Попробуйте на совсем простом запросе и убедитесь, что всё не так, как Вы утверждаете.
Mikolaf
Дата: 19.02.2008 02:22:59
Все именно так!
Если в поле FROM стоит название таблицы, то все прекрасно работает!!!
Как только ставишь имя запроса - результат нулевой. То же самое происходит если просто написать
rs.Open "Имя сохраненного запроса"

Т.е. Recordset(ADODB) напрочь отказывается работать с сохраненными запросами!!! По крайней мере у меня!!!

Что делать не знаю!!!
Mikolaf
Дата: 21.02.2008 01:12:57
автор
Откуда такие данные, непонятно. Наверно, у Вас где-то ошибка. Попробуйте на совсем простом запросе и убедитесь, что всё не так, как Вы утверждаете.


На простом примере убедился, что Recordset работает с запросом. Путем поэтапного усложнения запроса от простейшего примера до существующего выяснил, что Recordset не хочет работать, при обращении к данным из формы!

Обращаюсь к форме следующим образом:

[Forms].[Имя формы].[Поле со списком]

Как с этим бороться?
Polev
Дата: 21.02.2008 01:34:05
Mikolaf

Обращаюсь к форме следующим образом:

[Forms].[Имя формы].[Поле со списком]

Как с этим бороться?


Как бороться с тем, что Вы так обращаетесь к форме?
Mikolaf
Дата: 22.02.2008 11:22:27
Уже сам с этим поборолся!!!
Записал обращение к форме через функцию, все заработало!!!