powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Использование MS Query. Ошибка при изм-ии имени файла
13 сообщений из 13, страница 1 из 1
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33026424
qbraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как работает:
Есть запрос к листу Excel на другом листе Excel :). При изменении параметров(дат) автоматически запускается запрос посредством MS Query. Все работает ок. Но если поменять имя файла (FileName.xls), то все съезжает. Выдается ошибка: "Microsoft Jet database engine could not find the object....." Раньше вываливался диалог с поиском файла, а теперь нет. Не могу понять в чем причина. Если есть идеи.... Или ссылка на хороший форум по excel...
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33026480
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код в студию
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33026971
qbraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а в том- то и фича, что кода нет. Все работает без кода. Т.е. имеем (допустим) 2 листа excel. В 1ый заносится инфа. А во втором Data-Import external data-new Database query. Настраивается на 1ый лист и автоматически обновляется. Так вот при изм- ии имени файла все слетает.
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33028686
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну оно все и должно слетать, так что не огорчайся :)
А почему раньше не слетало а спрашивало новое имя файла.... Возможные причины:
1) Раньше стояла другая версия Excel
2) Раньше стояла другая версия ODBC драйвера для Excel
3) Другие настройки в файловом DSN который используется для запроса
4) Другие настройки в Excel'евской QueryTable.
5) В конце концов запрос делается на другой компьютере который имеет другие версии Excel/ODBC/DSN :)
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33030146
AGAT7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в каталоге
C:\Documents and Settings\<Пользователь>\Application Data\Microsoft\Запросы
это по умолчанию или в другом должен лежать твой запрос, в котором содержатся сведения о подключении, те источнике данных

--DBQ=C:\POOLDATA\outsource\f1.xls;DefaultDir=C:\POOLDATA\outsource;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;--

сам источник обычно храниться в
C:\Program Files\Common Files\ODBC\Data Sources

запрос к источнику в виде xlsовского листа выглядит так:
XLODBC
1
DBQ=C:\POOLDATA\outsource\f1.xls;DefaultDir=C:\POOLDATA\outsource;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;

SELECT База_данных.DATE, База_данных.TYPE, База_данных.FLIGHT, База_данных.DESTINATIO, База_данных.NUMBER, База_данных.INCOME, База_данных.COSTS, База_данных.TOTAL, База_данных.TOTAL2, База_данных.DONATION, База_данных.TOTAL3, База_данных.RATE FROM `C:\POOLDATA\outsource\f1`.База_данных База_данных


DATE TYPE FLIGHT DESTINATIO NUMBER INCOME COSTS TOTAL TOTAL2 DONATION TOTAL3 RATE
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33030251
AGAT7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, вот еще что, ща попробовал разные монипуляции с запросом, если тебе не нужно каждый раз подключаться к источнику, а только запускать запрос на получение данных в activesheet, то настраивать источник отдельно не нужно, просто найди где лежит сам запрос и залесь в него через любой текстовой редактор. В строке описания источника, мой пример:
XLODBC
1
DBQ=C:\POOLDATA\outsource\твой екселовский файл.xls;DefaultDir=C:\POOLDATA\outsource;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;

твой екселовский файл.xls поменяй на *.xls

В этом случае тебе будет предложено выбрать файл екселя
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33031165
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AGAT7в каталоге
C:\Documents and Settings\<Пользователь>\Application Data\Microsoft\Запросы
это по умолчанию или в другом должен лежать твой запрос, в котором содержатся сведения о подключении, те источнике данных
Вообще-то, не должен. Если находясь в MS Query вручную не дать команду "сохранить запрос" то он будет находится только внутри xls файла. Внешний *.qry создаваться не будет.

AGAT7сам источник обычно храниться в
C:\Program Files\Common Files\ODBC\Data Sources
А это называется не "источник", а "File DSN" :) Тоже самое что и обычный ODBC DSN, но хранящийся в виде файла на диске, а не в регистри.

кстати, для qbraz :
Если в своей книге (из которой делается запрос), ты в консоли дашь команду
"? ActiveSheet.QueryTables(1).Connection", то должен получить строку типа такой:
Код: plaintext
DBQ=C:\POOLDATA\outsource\f1.xls;DefaultDir=C:\POOLDATA\outsource;Driver={Driver do Microsoft Excel(*.xls)};DriverId= 790 ;FIL=excel  8 . 0 ;MaxBufferSize= 2048 ;MaxScanRows= 8 ;PageTimeout= 5 ;ReadOnly= 0 ;SafeTransactions= 0 ;Threads= 3 ;UID=admin;UserCommitSync=Yes;
А через ActiveSheet.QueryTables(1).Connection="...." ее можно будет поменять. Если у тебя там есть ключевое слово DBQ, попробуй убить его. Тогда драйвер (по идее) будет спрашивать файл источник каждый раз при запросе. А если ты покажешь свою строку коннекта здесь на форуме - мы сможем более конкретно сказать какой криминал туда забрался.
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33032750
Дмитрий777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to White Owl
Консоль - это что?
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33034141
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий777to White Owl
Консоль - это что?
Дожили :(
Запусти Excel. Жмешь Alt+F11 попадешь в VBA. Ctrl+G попадешь в "Immediate Window". В нем ты можешь давать VBA команды которые будут сразу же (по нажатию клавиши Enter) исполняться. Это и есть консоль.
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33074398
AGAT7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВообще-то, не должен. Если находясь в MS Query вручную не дать команду "сохранить запрос" то он будет находится только внутри xls файла. Внешний *.qry создаваться не будет.

Уж не знаю как ты настраиваешь ексел, но у меня после мастера установления связи, типа диалога диспетчера ODBC и мастера запроса, всегда выходит диалог на сохранение изменений автоматом, где предлагается записать сам запрос. Если от сохранения отказаться то в workbook никакого запроса не остается.

авторAGAT7
сам источник обычно храниться в
C:\Program Files\Common Files\ODBC\Data Sources

А это называется не "источник", а "File DSN" :) Тоже самое что и обычный ODBC DSN, но хранящийся в виде файла на диске, а не в регистри.

так ну это и имелось в виду, зачем переиначивать! DSN - имя источника данных или просто источник. Естественно, что тут не подразумевалась сама таблица базы.
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33075690
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AGAT7Уж не знаю как ты настраиваешь ексел, но у меня после мастера установления связи, типа диалога диспетчера ODBC и мастера запроса, всегда выходит диалог на сохранение изменений автоматом, где предлагается записать сам запрос. Если от сохранения отказаться то в workbook никакого запроса не остается.
Если не сохранить запрос в рабочей книге, то это все равно что вообще отказаться от создания QueryTable :) Ты путаешь сохранение созданого в MSQuery запроса на диске и в рабочей книге. *.qry в указаном тобой каталоге это запрос сохраненый на диске, не относящийся к какой-то конкретной книге и уж тем более листу. Ты можешь насоздавать таких запросов сколько угодно, а потом использовать эти запросы как шаблонные запросы для разных книг. Например сделал однажы отчет месячный. Сохранил запрос во внешнем файле. Через месяц сделал совсем новую книгу и импортировал в нее сохраненный запрос. Можно так делать, хотя чаще просто копируют уже существующую книгу :)


AGAT7 автор
А это называется не "источник", а "File DSN" :) Тоже самое что и обычный ODBC DSN, но хранящийся в виде файла на диске, а не в регистри.
так ну это и имелось в виду, зачем переиначивать! DSN - имя источника данных или просто источник. Естественно, что тут не подразумевалась сама таблица базы.
Точное использование терминологии избавит тебя от множества проблем.
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33076418
AGAT7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot White OwlЕсли не сохранить запрос в рабочей книге, то это все равно что вообще отказаться от создания QueryTable :) Ты путаешь сохранение созданого в MSQuery запроса на диске и в рабочей книге. *.qry в указаном тобой каталоге это запрос сохраненый на диске, не относящийся к какой-то конкретной книге и уж тем более листу. Ты можешь насоздавать таких запросов сколько угодно, а потом использовать эти запросы как шаблонные запросы для разных книг. Например сделал однажы отчет месячный. Сохранил запрос во внешнем файле. Через месяц сделал совсем новую книгу и импортировал в нее сохраненный запрос. Можно так делать, хотя чаще просто копируют уже существующую книгу :)
[/quot]

Так, ну что вы учите дедушку кашлять!
Я сам пишу SQL и в аксесе, и в текстовиках для выполнения их через DB2 и уж наверняка знаю, что:
"Ты можешь насоздавать таких запросов сколько угодно, а потом использовать эти запросы как шаблонные запросы для разных книг. Например сделал однажы отчет месячный. Сохранил запрос во внешнем файле. Через месяц сделал совсем новую книгу и импортировал в нее сохраненный запрос."
Дело в том, что сколько я не пытался на worksheet создать запрос, и через опцию создать запрос, и через импорт данных - результат один - грузится msquery, выбираешь источник данных, пишешь запрос и сохраняешь его на диске. А друго мне не предлагается... Может excel такой у меня...
...
Рейтинг: 0 / 0
Excel. Использование MS Query. Ошибка при изм-ии имени файла
    #33078110
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AGAT7Так, ну что вы учите дедушку кашлять!
Потому что дедушка кашлять как раз и не умеет :)

AGAT7Дело в том, что сколько я не пытался на worksheet создать запрос, и через опцию создать запрос, и через импорт данных - результат один - грузится msquery, выбираешь источник данных, пишешь запрос и сохраняешь его на диске. А друго мне не предлагается... Может excel такой у меня...
В Экселе:
Data -> Get External Data -> New Database Query
Выбираем DSN. Снимаем галочку с "Use the Query Wizard to create/edit queries" (этот визард излишне тупой, потому на фиг его). Жмем Ok и получаем окно MS Query.
В MS Query:
Создаем запрос. Теперь мы можем его сохранить (File->Save) или не сохраняя тыкаем кнопку возврата и возвращаемся в Эксель. Указываем с какой ячейки начинаеть сохранять данные и Эксель начинает запрашивать данные.
Запрос уже сохранен внутри листа. Никаких запросов на принудительное сохранение во внешних файлах я не вижу. Где у тебя делается принудительное сохранение запроса? Покажи пальчиком.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Использование MS Query. Ошибка при изм-ии имени файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]