Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Слияние с Word / 14 сообщений из 14, страница 1 из 1
12.01.2004, 17:21
    #32373506
Юрий Р.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Уважаемые гуру, у меня следующая проблема. Заполняю поля документа Word из таблицы Access, точнее из результата запроса. Операция привязана к кнопке, имеющей адрес гиперссылки на документ. Слияние с Word построено при помощи мастера. Почему при нажатии на кнопку открывается еще один экземпляр Access ? И как этого избежать ? Для справки: использую Office XP на платформе Win2000Pro. Помогите пожалуйста.
...
Рейтинг: 0 / 0
12.01.2004, 17:30
    #32373520
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
...
Рейтинг: 0 / 0
12.01.2004, 17:52
    #32373546
Юрий Р.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Geo.
Спасибо. Но мне нужен ответ на вопрос: как избежать запуска Word-ом еще одного Access ? Может в настройках какой гачок поставить или снять, или с помощью кода ?
...
Рейтинг: 0 / 0
12.01.2004, 17:56
    #32373551
vist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Новый экз Акс открывает Ворд когда связывается с базой Мастер предусматривает открытие базы
...
Рейтинг: 0 / 0
12.01.2004, 17:57
    #32373554
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Дык, кто ж знает, что акцессный "мастер слияний" рисует?
Посмотри по сформированному им коду:
Еще один экземпляр акцесса, вероятно создается посредством

set myvar=new access.application

set myvar = createobject("access.application")

или

shell ".....\msaccess.exe ...."

Создается он, наверное, не почем зря. Надо его закрыть после выполнения кода, наверное. Вряд ли тут много людей работает с этим мастером, поэтому, скорее всего, тебе придется запомнить расположение клавиши F1 и самому поработать с кодом.
...
Рейтинг: 0 / 0
12.01.2004, 18:10
    #32373573
vist
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Я понял так, по гиперссыске вызывается ворд а документ связыватся с бд
т.е. слияние ворда с акцесом но не наоборот. прак что открой макрос который создал ворд и смотри там.Гдето он открывает бд и полусает данные
...
Рейтинг: 0 / 0
12.01.2004, 18:24
    #32373589
Svetlana_613
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Лучше пользоваться не акцессовским мастером, а наоборот вердовским.
Открываешь документ верда и настраиваешь подключение путем ODBC через Мастер слияния
...
Рейтинг: 0 / 0
12.01.2004, 19:09
    #32373647
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Слияние - одна из самых древних технологий в Word-e, если не самая...
Как помнится, Word не просто "поднимает" Access, но еще и общается с ним через DDE. Ладно, что медленно, так еще и ненадежно. Отключить режим работы через DDE, кажется, НЕ МОЖНО.

Хороша эта технология тем, что девочка-секретарша в какой-нибудь нотариальной конторе осваивает ее за 5 минут.

Толковой (в смысле полноты функционала и удобства для КОНЕЧНОГО пользователя) замены пока нет.
Совет смотри панель "базы данных->вставить базу данных" - это дружит c OLE
(как мне помнится)

Заменить можно приличным шаблоном, поигравшись с ним в "автоматизацию" с закладками, полями и свойствами документа. Слияние в шаблоне использовать несколько нелепо.

С Уважением,
Виктоша
...
Рейтинг: 0 / 0
12.01.2004, 19:46
    #32373667
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
дарю!

(основа из книшки, правда...)

надо сделать темплету с букмарками. легко делается с помошью вставки "текстовых полей" из панели "Формы"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
Function PrintDoc(query As String, _
                  templatedoc As String, _
                  pathname As String, _
                  suffix As String, _
                  print_immidiate As Boolean, _
                  ParamArray fieldsForName() As Variant) As Boolean

  ' query - запрос, который выдает все поля, которые надо разместить на форме
  ' templatedoc - имя файла с шаблоном документа
  ' pathname - путь к файлу, оканчивающийся \. Сюда же можно добавить префикс
  ' suffix - окончание имени файла. Расширение не нужно
  ' fieldsForName - имена полей через запятую, из которых сделать середину имени файла
  
  ' В шабюлоне должны быть настроены  "закладки"  ( "bookmarks" ), с именами, совпадающими
  ' с именами полей или псевдонимами в передаваемом запросе, суфиксом _XX, чтобы добиться
  ' уникальности имен закладок, если одно поле надо вывести более одного раза.
  ' Формат вывода надо настраивать в запросе.

  PrintDoc = True

  Dim wda As Word.Application
  Dim wdd As Word.Document
  
  On Error GoTo worderror
  
  Dim fieldname As String
  Dim fieldname2 As Variant
  Dim filename As String
  
  Dim b As Bookmark
  
  Dim rs As New ADODB.Recordset
  
  rs.Open query, CurrentProject.Connection
  
  If Not rs.EOF Then
    Set wdd = GetObject(templatedoc)
    Set wda = wdd.Parent
    wda.Visible = True
    
    For Each b In wdd.Bookmarks
      fieldname = Mid(b.name,  1 , InStrRev(b.name,  "_" ) -  1 )
      b.Select
      
      If Not IsNull(rs.Fields(fieldname)) And rs.Fields(fieldname) <>  "" Then
        wda.Selection.TypeText rs.Fields(fieldname)
      Else
        wda.Selection.TypeText "   "
      End If
    Next
  Else
    MsgBox " Запрос ничего не вернул ", vbInformation
    PrintDoc = False
  End If
  
  For Each fieldname2 In fieldsForName
    filename = filename & rs.Fields(fieldname2)
  Next
  
  If print_immidiate Then
    wdd.PrintOut False
  End If
  
  wdd.SaveAs (pathname & filename & suffix & " .doc ")
    
  wdd.Close
  wda.Quit
  
  rs.Close
  
  Set rs = Nothing
  Set wda = Nothing
  Set wdd = Nothing
  Exit Function
  
worderror:
  MsgBox " Ошибка:  " & Err.Description & "  " & Err.Number, vbCritical
  PrintDoc = False
  Set rs = Nothing
  Set wda = Nothing
  Set wdd = Nothing
  Exit Function
End Function
...
Рейтинг: 0 / 0
12.01.2004, 19:47
    #32373668
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
ах да, блин, настройки шаблонов лежат в таблице document
...
Рейтинг: 0 / 0
12.01.2004, 20:30
    #32373683
Юрий Р.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Большое всем спасибо! Как все это сделать в коде через рекордсет я знаю. Дело в том, что времени на написание этого самого кода НЕТУ. А тут еще кто-то вспомнил, что делал нечто подобное через слияние. И все бы ничего. Единственная заноза - этот повторный запуск Access. Трудно заставить юзера не забывать его закрывать. И все равно спасибо.
...
Рейтинг: 0 / 0
13.01.2004, 11:52
    #32374088
Svetlana_613
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Уважаемый гуру, Виктоша.
Естественно, что "Word не только поднимает Access, но и общается с ним при помощи DDE", и именно поэтому он его и поднимает.
Мной было предложено самое простое решение этой проблемы, как Вы сами и заметили, которым может воспользоваться "девочка-секретарша в какой-нибудь нотариальной конторе", но при заданной постановке вопроса,насколько я поняла, именно это и требовалось
И пользуясь всего лишь клавишей F1, можно выяснить, что именно использование ODBC исключает повторный запуск Access.
Иными словами все просто и наверняка,тем более, что "Толковой (в смысле полноты функционала и удобства для КОНЕЧНОГО пользователя) замены пока нет"
А насчет "Совет смотри панель "базы данных->вставить базу данных" ", то это исключительно по необходимости вставки базы данных, а не полей. В общем нюансов более, чем достаточно.

С Уважением Светлана.
...
Рейтинг: 0 / 0
13.01.2004, 13:16
    #32374295
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Уважаемый(ая) гуру [Svetlana_613]

Ваши разъяснения приняты. Xp действительно демонстрирует чудеса развития html-технологий.

Виктоша
...
Рейтинг: 0 / 0
13.01.2004, 17:00
    #32374820
Юрий Р.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние с Word
Уважаемые теоретики и практики, спешу поделиться своим открытием. Оказывается второй экземпляр Access запускался по той простой причине, что в параметрах запуска был определен заголовок приложения, отличный от "Microsoft Access". Надеюсь, что информация окажется кому-нибудь полезна. Всем спасибо и удачи.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Слияние с Word / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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