powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Automation Word'a
8 сообщений из 8, страница 1 из 1
Automation Word'a
    #32514073
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, подскажите, кто в сабже хорошо разбирается, быстрейший способ вставки данных, полученных запросом из ацеса. Так чтобы и по-форматировать красиво потом. В цикле пихать жутко медленно, оно и понятно.
Пробовал InsertDatabase но что то у меня с ним не сходится. Unable to open DataSource. Хотя все параметры заданы четко, запрос, конекшин, путь, все дела. Кода щас нету, завтара с работы закину если нужно.

В догонку, для этого метода есть ограничения по длинне передаваемого запроса 255 символов, но предусмотрено 2 параметра. Воторой с таким же ограничением. А больше никак? У меня запрос динамический, по выбору юзера и параметров может быть очень много.


Благодарю.

Magnus
...
Рейтинг: 0 / 0
Automation Word'a
    #32524900
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и где код???
...
Рейтинг: 0 / 0
Automation Word'a
    #32528806
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, я думал никто не ответиил, значит не в курсе, уже и забыл про него. Там собственно всего то одна строка.

Код: plaintext
oDoc.Range( 0 ,  0 ).InsertDatabase Style:= 191 , LinkToSource:=True, Connection:=StrConn, DataSource:=Sysdrive & DefaultPath, From:=- 1 , To:=- 1 , IncludeFields:=True

Все переменные использованые в коде заполняются верно, проверял.

Magnus
...
Рейтинг: 0 / 0
Automation Word'a
    #32528871
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
откровенно говоря, ТАК оьвеьа можно НИКОГДА не дождаться.

ОНО Вам говорит - Не могу, мол, источник данных открыть,
а ВЫ нам DefaultDataPath как имя переменной показываете.

НУЖНО Видеть, что представляют собой строки StrConn И
Sysdrive & DefaultPath
Если источник "файловый", а в Sysdrive & DefaultPath отсутствует имя конечного файла - оно Вам так и будет нудеть - НЕ МОГУ.
...
Рейтинг: 0 / 0
Automation Word'a
    #32528940
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь сказал же что проверял. Это было первое куда я смотрел. Те же переменные в других функциях используются без проблем.
Может я и не прав...
Вот
StrConn
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\IPQ\Catalogo\IPQcatnorm.mdb

Sysdrive & DefaultPath
C:\Program Files\IPQ\Catalogo\IPQcatnorm.mdb


Magnus
...
Рейтинг: 0 / 0
Automation Word'a
    #32529002
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на самом деле, извиняюсь за заморочку мозгов.

1) (САМОЕ ГЛАВНОЕ) в параметрах метода отсутствует SQLStatement, хоть и сказано, что он не обязательный, а без него работать, скорее всего не будет
По крайней мере мне не удалось с mdb.

2) Sysdrive & DefaultPath - хороший

2) судить о том, хороший или плохой StrConn, можно только увидев SQLStatement, и поняв, From что происходит выборка. Более того, в обычных случаях - не запароленная, не требующая специфического файла рабочей группы или особенных параметров соединения в смысле режима доступа база данных, то Connection НЕ НУЖЕН. Его можно просто вымарать.
-------------

Нужно просто записать макрос на добавление базы данных, и посмотреть, как будет сформирована строка SQL выражения И соответствующая ей строка соединения.

Неплохо еще нажать F1, проскольку макрорекордер записывает по своему, а F1 покажет, какие вообще есть варианты.
собственно, запрос, возможно, придется подправить .

Пример (рабочий)
Пусть в IPQcatnorm.mdb сидит таблица Authors(Au_ID, Author, [Year Born])
которую Вам нужно вставить, тогда
команда может выглядеть так


Код: plaintext
1.
2.
Selection.Range.InsertDatabase Format:= 1 , Style:= 191 , LinkToSource:=False,  SQLStatement:="SELECT `Au_ID`, `Author`, `Year Born` FROM `Authors`" _ 
,  DataSource:= "ПолныйПуть\IPQcatnorm.mdb", From:= _
        - 1 , To:=- 1 , IncludeFields:=True

Параметр Connection при этом ОТСУТСТВУЕТ
...
Рейтинг: 0 / 0
Automation Word'a
    #32529041
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос там был, просто я случайно не ту строку скопировал, эта была закоментирована. :)

Проблема была в коннекшн. Как только его убрал все заработало. Правда использовать вероятно не буду, слишком медленно.

Но все равно спасибо! :)

Кстати на счет запросов в акцес(топик еще не улетел?:)
Запрос динамический, строится на основе кучи параметров и может быть очень длинным. Вываливается ошибка Too much condtitions chosen.

Можно ли как нибудь обойти?


Magnus
...
Рейтинг: 0 / 0
Automation Word'a
    #32529138
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде чем отказываться, попробуйте LinkToSource:=False
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Automation Word'a
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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