Access, слияние в Word

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Access, слияние в Word

Сообщение Tatyanka » 23.06.2005 (Чт) 9:14

Есть база данных Access. По кнопке запускается Ворд и выполняется слияние в документ. Раньше все делалось нормально, понятия не имею, что случилось, но теперь при открытии документа постоянно теряется связь с базой, то есть приходится снова находить источник, но этого мало - еще при этом запускается дополнительно 2 копии базы! :shock: Что может быть и что можно сделать?
Мы - Иные. Мы служим разным силам. Но в сумраке нет разницы между отсутствием тьмы и отсутствием света. Наша борьба способна уничтожить мир. Мы заключаем Великий Договор о перемирии...

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 24.06.2005 (Пт) 10:53

+14
Последний раз редактировалось Al Khamid 07.12.2007 (Пт) 19:08, всего редактировалось 1 раз.

Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Сообщение Tatyanka » 24.06.2005 (Пт) 17:41

Кнопка находится на форме в базе Access. Она запускает нужный файл Ворд. А уже в самом вордовском документе настроено слияние с этой базой, то есть выбираются нужные поля из базы и вставляются в нужные поля в документе... Ну, это ты понимаешь... Источник - это таблица Access. C этим я уже благополучно справилась, она теряться перестала :lol: Происходит следующее: нажимается кнопка в Аксцессе, открывается вордовый документ, говорит, что будет выполнен запрос SQL, который поместит поля в документ, и спрашивает, продолжать ли? Ему говорят "продолжать", он открывается, заполняет нужные поля, но при этом открывает еще одну копию той же базы, из которой был запущен (уже, к счастью, не 2, а только одну :D ). Вот... :?
Мы - Иные. Мы служим разным силам. Но в сумраке нет разницы между отсутствием тьмы и отсутствием света. Наша борьба способна уничтожить мир. Мы заключаем Великий Договор о перемирии...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.06.2005 (Сб) 3:12

Дык это правильно :)

Не открывай Access, а сразу открывай главный документ Word :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Сообщение Tatyanka » 25.06.2005 (Сб) 13:18

Во-первых, документ должен формироваться из базы. Потому что если пользователь полезет искать его на дисках, а потом сам открывать, то на фига вообще оно надо?.... А во-вторых, если открывать сам по себе документ, он все равно открывает базу, чего делать не должен...
Мы - Иные. Мы служим разным силам. Но в сумраке нет разницы между отсутствием тьмы и отсутствием света. Наша борьба способна уничтожить мир. Мы заключаем Великий Договор о перемирии...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 25.06.2005 (Сб) 15:50

Как раз должен :)
Главный документ всегда открывает базу. Если это не нравится, перед сохранением нужно втыкать ему "Обычный документ" - но тогда придётся выбирать источник при следующем открытии :)
Впрочем, всё это можно повесить на BeforeClose и Open :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 27.06.2005 (Пн) 9:12

+88
Последний раз редактировалось Al Khamid 07.12.2007 (Пт) 19:09, всего редактировалось 1 раз.

Tatyanka
Немного Иная
Немного Иная
Аватара пользователя
 
Сообщения: 876
Зарегистрирован: 02.12.2004 (Чт) 13:55
Откуда: Киев

Сообщение Tatyanka » 29.06.2005 (Ср) 14:12

Al Khamid писал(а):Опять непонятно:
1. Можно в вордовском файле однозначно указать из какой базы брать данные. Способ простой, но огромный недостаток - жестко забитый путь к базе, то есть с несколькими базами не поработаешь без модификации программы.

У меня так и сделано, несколько баз мне не надо, это меня вполне устраивает.
Al Khamid писал(а): 2. Можно привязаться к ОТКРЫТОЙ в данный момент базе Access, то есть зацепить ее GetObject(,"Access.Application"). Способ самый кривой из возможных: если открыто несколько Аксессов, возьмется первый попавшийся, а не обязательно тот, из которого вызван Ворд.

Это точно, очень кривой способ, и совершенно не подходящий...
Al Khamid писал(а): 3. После вызова Ворда из Аксесса каким-либо образом передать Ворду ссылку на текущую базу данных. Как это можно сделать, не могу сказать (добавлением в модуль документа Ворд Public переменной сделать это у меня не получилось, разбираться я не стал). Но если удастся присвоить например переменной dbX ссылку на конкретную БД, то в Ворде можно будет работать с этой dbX, забирая нужные данные.

Не надо ничего передавать Ворду, этот файл работает только с этой базой, ради нее там и лежит...
Al Khamid писал(а): Только вот возникает вопрос. А если сделать ВСЮ обработку слияния в Аксессе? Нажимаешь кнопочку - открывается документ и тут же заполняется. ???

А со всей обработкой сценария в Access-e будет много мороки, потому что файлик вордовый такой далеко не один, который связан с этой базой и вызывается из нее... Понимаешь, в чем дело... Просто раньше это работало нормально и никакая вторая копия базы не запускалась, а теперь глючит. Причем я даже не могу сказать, после чего. Ничего ни с машиной, ни с базой не делалось, что могло бы вызвать такой глюк. Это какие-то настройки, однако... :roll:
Мы - Иные. Мы служим разным силам. Но в сумраке нет разницы между отсутствием тьмы и отсутствием света. Наша борьба способна уничтожить мир. Мы заключаем Великий Договор о перемирии...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron