|
|
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
как работает: Есть запрос к листу Excel на другом листе Excel :). При изменении параметров(дат) автоматически запускается запрос посредством MS Query. Все работает ок. Но если поменять имя файла (FileName.xls), то все съезжает. Выдается ошибка: "Microsoft Jet database engine could not find the object....." Раньше вываливался диалог с поиском файла, а теперь нет. Не могу понять в чем причина. Если есть идеи.... Или ссылка на хороший форум по excel... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 20:39:56 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
код в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2005, 21:48:04 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
а в том- то и фича, что кода нет. Все работает без кода. Т.е. имеем (допустим) 2 листа excel. В 1ый заносится инфа. А во втором Data-Import external data-new Database query. Настраивается на 1ый лист и автоматически обновляется. Так вот при изм- ии имени файла все слетает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 10:35:09 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
Ну оно все и должно слетать, так что не огорчайся :) А почему раньше не слетало а спрашивало новое имя файла.... Возможные причины: 1) Раньше стояла другая версия Excel 2) Раньше стояла другая версия ODBC драйвера для Excel 3) Другие настройки в файловом DSN который используется для запроса 4) Другие настройки в Excel'евской QueryTable. 5) В конце концов запрос делается на другой компьютере который имеет другие версии Excel/ODBC/DSN :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2005, 18:01:24 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
в каталоге 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 14:18:57 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
Да, вот еще что, ща попробовал разные монипуляции с запросом, если тебе не нужно каждый раз подключаться к источнику, а только запускать запрос на получение данных в 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 В этом случае тебе будет предложено выбрать файл екселя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 14:38:44 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 18:58:14 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
to White Owl Консоль - это что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 10:41:55 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
Дмитрий777to White Owl Консоль - это что? Дожили :( Запусти Excel. Жмешь Alt+F11 попадешь в VBA. Ctrl+G попадешь в "Immediate Window". В нем ты можешь давать VBA команды которые будут сразу же (по нажатию клавиши Enter) исполняться. Это и есть консоль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 18:04:07 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
авторВообще-то, не должен. Если находясь в MS Query вручную не дать команду "сохранить запрос" то он будет находится только внутри xls файла. Внешний *.qry создаваться не будет. Уж не знаю как ты настраиваешь ексел, но у меня после мастера установления связи, типа диалога диспетчера ODBC и мастера запроса, всегда выходит диалог на сохранение изменений автоматом, где предлагается записать сам запрос. Если от сохранения отказаться то в workbook никакого запроса не остается. авторAGAT7 сам источник обычно храниться в C:\Program Files\Common Files\ODBC\Data Sources А это называется не "источник", а "File DSN" :) Тоже самое что и обычный ODBC DSN, но хранящийся в виде файла на диске, а не в регистри. так ну это и имелось в виду, зачем переиначивать! DSN - имя источника данных или просто источник. Естественно, что тут не подразумевалась сама таблица базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 13:02:35 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
AGAT7Уж не знаю как ты настраиваешь ексел, но у меня после мастера установления связи, типа диалога диспетчера ODBC и мастера запроса, всегда выходит диалог на сохранение изменений автоматом, где предлагается записать сам запрос. Если от сохранения отказаться то в workbook никакого запроса не остается. Если не сохранить запрос в рабочей книге, то это все равно что вообще отказаться от создания QueryTable :) Ты путаешь сохранение созданого в MSQuery запроса на диске и в рабочей книге. *.qry в указаном тобой каталоге это запрос сохраненый на диске, не относящийся к какой-то конкретной книге и уж тем более листу. Ты можешь насоздавать таких запросов сколько угодно, а потом использовать эти запросы как шаблонные запросы для разных книг. Например сделал однажы отчет месячный. Сохранил запрос во внешнем файле. Через месяц сделал совсем новую книгу и импортировал в нее сохраненный запрос. Можно так делать, хотя чаще просто копируют уже существующую книгу :) AGAT7 автор А это называется не "источник", а "File DSN" :) Тоже самое что и обычный ODBC DSN, но хранящийся в виде файла на диске, а не в регистри. так ну это и имелось в виду, зачем переиначивать! DSN - имя источника данных или просто источник. Естественно, что тут не подразумевалась сама таблица базы. Точное использование терминологии избавит тебя от множества проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 19:02:39 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
[quot White OwlЕсли не сохранить запрос в рабочей книге, то это все равно что вообще отказаться от создания QueryTable :) Ты путаешь сохранение созданого в MSQuery запроса на диске и в рабочей книге. *.qry в указаном тобой каталоге это запрос сохраненый на диске, не относящийся к какой-то конкретной книге и уж тем более листу. Ты можешь насоздавать таких запросов сколько угодно, а потом использовать эти запросы как шаблонные запросы для разных книг. Например сделал однажы отчет месячный. Сохранил запрос во внешнем файле. Через месяц сделал совсем новую книгу и импортировал в нее сохраненный запрос. Можно так делать, хотя чаще просто копируют уже существующую книгу :) [/quot] Так, ну что вы учите дедушку кашлять! Я сам пишу SQL и в аксесе, и в текстовиках для выполнения их через DB2 и уж наверняка знаю, что: "Ты можешь насоздавать таких запросов сколько угодно, а потом использовать эти запросы как шаблонные запросы для разных книг. Например сделал однажы отчет месячный. Сохранил запрос во внешнем файле. Через месяц сделал совсем новую книгу и импортировал в нее сохраненный запрос." Дело в том, что сколько я не пытался на worksheet создать запрос, и через опцию создать запрос, и через импорт данных - результат один - грузится msquery, выбираешь источник данных, пишешь запрос и сохраняешь его на диске. А друго мне не предлагается... Может excel такой у меня... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 10:54:51 |
|
||
|
Excel. Использование MS Query. Ошибка при изм-ии имени файла
|
|||
|---|---|---|---|
|
#18+
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) или не сохраняя тыкаем кнопку возврата и возвращаемся в Эксель. Указываем с какой ячейки начинаеть сохранять данные и Эксель начинает запрашивать данные. Запрос уже сохранен внутри листа. Никаких запросов на принудительное сохранение во внешних файлах я не вижу. Где у тебя делается принудительное сохранение запроса? Покажи пальчиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 20:35:37 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33034141&tid=2186041]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
208ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 520ms |

| 0 / 0 |
