Чем заменить DoCmd.OutputTo acOutputQuery, "Query", если "Query" - запрос из внешнего Mdb

alxx2
Дата: 22.02.2008 17:23:49
Как запустить запрос из внешнего Mdb я представляю (ExternalMdb.Execute "Query"), а вот как выполнить макрос не очень представляю. Не создавать же новый объект Application для этого?
Анатолий ( Киев )
Дата: 22.02.2008 17:53:33
А в какой формат вы хотите OutputTo этот запрос? В xls или txt можно и другими средствами.
Иначе можно создать сохраненный запрос типа: SELECT * From query In 'Путь к БД'
Отправить его, а затем удалить.
alxx2
Дата: 22.02.2008 18:15:47
Хочу в Xls вывести.
alxx2
Дата: 23.02.2008 10:39:27
> Иначе можно создать сохраненный запрос типа: SELECT * From query In 'Путь к БД'
> Отправить его, а затем удалить.
Не могу так. Текущий mde - readonly, писать в него нельзя, а путь к базе, из которой надо вызвать запрос "Query" заранее неизвестен.
Старый ворчун
Дата: 23.02.2008 11:16:14
alxx2
Не создавать же новый объект Application для этого?

а почему нет?
alxx2
Дата: 23.02.2008 12:35:43
Старый ворчун
alxx2
Не создавать же новый объект Application для этого?

а почему нет?


Да как-то громоздко поучается.
Анатолий ( Киев )
Дата: 25.02.2008 11:20:08
Если в XLS, то вам не нужна OutputTo.
Такой запрос создает файл C:\MyFile.xls с листом MySheet и переносит данные из "Query" во внешней БД "C:\MyDB.mdb".
SELECT * INTO [MySheet] IN 'C:\MyFile.xls'[Excel 5.0;HDR=YES;IMEX=2] FROM Query IN 'C:\MyDB.mdb';
Выполнить его можно методом CurrentProject.Connection.Exequte, или CurrentDB.Exequte, или DoCmd.RunSQL.
alxx2
Дата: 26.02.2008 15:20:17
Спасибо, буду пробовать.
alxx2
Дата: 26.02.2008 17:35:20
Пробую
"SELECT * INTO [MySheet] IN ..."
получаю
"Внешняя таблица не имеет предполагаемый формат".
MSA-97 + Excel-2003.
Где рыть?

Запуск макроса через
ForeignApplication.DoCmd.OutputTo ....
проходит, но запускается еще один Access + почему-то нормально отрабатывает не всегда.
Анатолий ( Киев )
Дата: 26.02.2008 17:48:01
Попробуйте вместо [Excel 5.0;...] указать [Excel 11.0;...]
Для начала выкиньте в Excel что-нибудь из родной таблицы, а когда получится - из внешней.