Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
Добрый час! Делаю отчет в MS Word

Можно ли после вставленного текста, создать новую закладку в MS Word и использовать при этом переменную?

ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:=" & pBookmarksNew & "
4 дек 18, 23:40    [21753799]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
Переформулирую задачу более точнее

Есть 2 таблицы (фото прилагаю) документы и исполнители, мне необходимо вынести в MS Word сначала, документ потом его исполнителей. Подскажите как лучше сделать?

К сообщению приложен файл. Размер - 7Kb
5 дек 18, 07:56    [21753901]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
Eugene-LS
Member

Откуда:
Сообщений: 15
Простая работа с MS Word
Там пример внизу, второй вариант вывода, думаю, похож на вашу задачку.
5 дек 18, 09:22    [21753946]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
Eugene-LS, Благодарю! Буду изучать
5 дек 18, 21:19    [21755011]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
Eugene-LS, чуть чуть не такая задача ... там описано как вывести исполнителей ... а мне сначала описание документа надо выводить .... я могу его привязать к закладке ... но как мне далее привязываться не могу понять ...

Приказ 201 от 21.12.2018 - 1 таблица

Петров
Сидоров
Иванов -2 таблица

Приказ 202 от 23.12.2018 - 1 таблица

Козлов
Сидоров
Семенов -2 таблица
16 дек 18, 17:40    [21765412]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
JDV,
objWord.ActiveDocument.Bookmarks.Item("' & pBookmarksNew & '").Range.Text = rstCurr!Kod_potoka - можно переменную использовать для имени закладки?

и ThisDocument.Bookmarks.Add Name:="temp", Range:=Selection.Range - вместо "temp" можно ли прописать переменные, если да то подскажите какой синтаксис ?
16 дек 18, 23:49    [21765581]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4530
JDV,
выложите лучше пример базы и более-менее реальный шаблон
это заметно ускорило бы получение НОРМАЛЬНОГО совета по решению вашей проблемы
17 дек 18, 13:00    [21765819]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
ПЕНСИОНЕРКА,

Eugene-LS, чуть чуть не такая задача ... там описано как вывести исполнителей ... а мне сначала описание документа надо выводить .... я могу его привязать к закладке ... но как мне далее привязываться не могу понять ...

Приказ 201 от 21.12.2018 - 1 таблица

Петров
Сидоров
Иванов -2 таблица

Приказ 202 от 23.12.2018 - 1 таблица

Козлов
Сидоров
Семенов -2 таблица

Ниже по ссылке пример кода

[url=]https://yadi.sk/d/gTZ9LCMALo2cnA[/url]
18 дек 18, 02:21    [21766515]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
Swa111
Member

Откуда:
Сообщений: 104
JDV,

В своих проектах использую формат RTF, внутри расставляются метки какой блок в каком запросе повторять и какие поля выводить, в базе с шаблоном связываю запросы. В итоге отчеты почти любой сложности с любым уровнем вложенности.

В итоге получился упрощенный аналог компонента EkRTF.
18 дек 18, 12:18    [21766859]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4530
JDV
Ниже по ссылке пример кода


не поняла я ваших примеров
--шаблон пустой --только 1 закладка
--код непонятен
--причем в коде необъявленные переменные
Option Explicit
Sub rptPrikaz()
 '''''''''''''не объявленные переменные.......................
 Dim pNumber, pBookmarksNew, Zakladka_01
''''''''''''''''''''''''''''''''''''''''''''
18 дек 18, 13:36    [21767021]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4530
если исправить так, то что-то всеж формируется
 If pNumber > 1 Then
     objWord.ActiveDocument.Bookmarks.Item("pBookmarksNew").Range.Text = rstCurr![Номер_документа]
     pBookmarksNew = ""
    Else
     objWord.ActiveDocument.Bookmarks.Item("Zakladka_01").Range.Text = rstCurr![Номер_документа]
    End If


в документе появляются цифры 129
18 дек 18, 13:47    [21767042]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
ПЕНСИОНЕРКА,

Благодарю Вас большое за помощь!

К этой закладке надо привязать цикл по записям 1 таблицы, и после тогда когда добавится содержание 1 - й записи, следом добавить, набор записей из таблицы 2, потом опять 2 запись 1 таблицы и все подчиненные ей значения из втрой

Приказ 201 от 21.12.2018 - 1 таблица

Петров
Сидоров
Иванов -2 таблица

Приказ 202 от 23.12.2018 - 1 таблица

Козлов
Сидоров
Семенов -2 таблица
18 дек 18, 16:49    [21767391]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5875
JDV,
А если добавить еще одну таблицу,то Ваш вопрос очень легко решаем:

К сообщению приложен файл. Размер - 22Kb
18 дек 18, 17:57    [21767498]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
sdku, да но как потом вывести в Word .... со знаками разделения
18 дек 18, 19:01    [21767583]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5875
JDV,
чтоб ответить на этот вопрос нужно увидеть скрин того что Вы хотите видеть (может и отчета в Аксе будет достаточно)
18 дек 18, 19:07    [21767589]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
sdku,
В Word надо

К сообщению приложен файл. Размер - 10Kb
18 дек 18, 19:39    [21767624]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5875
JDV,
еще вопрос:а кто же все-таки главный из 3
или все исполнители "равноправны" и какие данные надо выводить из "2-ой таблицы"
типа:вывести № приказа о назначении исполнителей(сроках,задачах) и такие-то данные(документы)по этому заданию
18 дек 18, 21:53    [21767750]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
sdku,

Данные о Приказе ...в принципе любые, а потом исполнители ... сортировать по фамилии ... но думаю если я смысл пойму сортировку сам решу ...
18 дек 18, 23:35    [21767802]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
Swa111
Member

Откуда:
Сообщений: 104
JDV,

А может все таки не скакать по документу, а выводить все последовательно:
Далее псевдокод

 For each ttop in dbselect(" * from документы " & Условие)
   ВставитьАбзац(ttop.документ);  
   For each tlist in dbselect("исполнители.исполнитель from главная inner join исполнители on исполнители.коди =  главная.исполнитель where документ= " & ttop.кодд )
     ВставитьАбзац(tlist.исполнитель);  
   next
   ВставитьАбзац("");  
 next
19 дек 18, 12:54    [21768254]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
Swa111,
Подскажите что не так делаю?

For Each ttop In CurrentDb.OpenRecordset("Select * From sql_PrikazyGruppy WHERE Vid_obucheniya = 'Переподготовка' and ID_prikazy = Cint('" & Forms![frm_Prikazy]![frm_sub_Prikazy]!ID_prikazy.Value & "')", dbOpenDynaset, dbSeeChanges)
' ВставитьАбзац(ttop.документ);

objWord.ActiveDocument.Bookmarks.Item("Perepodgotovka").Range.Text = ttop!Kod_potoka
' For Each tlist In dbselect("исполнители.исполнитель from главная inner join исполнители on исполнители.коди = главная.исполнитель where документ= " & ttop.кодд)
' ВставитьАбзац(tlist.исполнитель);
' Next
' ВставитьАбзац("");
Next
22 дек 18, 14:48    [21771061]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
JDV, Ошибка операция не поддерживается для объектов данного типа
22 дек 18, 14:52    [21771062]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
Swa111
Member

Откуда:
Сообщений: 104
JDV,

stxt = ""
set tTop = CurrentDb.OpenRecordset("Select * From sql_PrikazyGruppy WHERE Vid_obucheniya = 'Переподготовка' and ID_prikazy = Cint('" & Forms![frm_Prikazy]![frm_sub_Prikazy]!ID_prikazy.Value & "')", dbOpenDynaset, dbSeeChanges)
  do while not ttop.eof
    sTxt = sTxt &  ttop!Kod_potoka & vbCrLf

     set tList = CurrentDb.OpenRecordset("Select * ... = " & tTop!ПолеСвязи, dbOpenDynaset, dbSeeChanges)
       do while not tList .eof
         sTxt = sTxt & "  -" & tList !ФИО& vbCrLf
         tList .movenext
       loop
     tList .close

    ttop.movenext
  loop
tTop.close
set tTop = nothing
objWord.ActiveDocument.Bookmarks.Item("Perepodgotovka").Range.Text = stxt 
22 дек 18, 16:46    [21771098]     Ответить | Цитировать Сообщить модератору
 Re: Access To Word  [new]
JDV
Member

Откуда:
Сообщений: 390
Swa111, Благодарю!!!!!
22 янв 19, 01:00    [21790701]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить