powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access To Word
23 сообщений из 23, страница 1 из 1
Access To Word
    #39742599
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый час! Делаю отчет в MS Word

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

ActiveDocument.Bookmarks.Add Range:=Selection.Range, Name:=" & pBookmarksNew & "
...
Рейтинг: 0 / 0
Access To Word
    #39742652
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переформулирую задачу более точнее

Есть 2 таблицы (фото прилагаю) документы и исполнители, мне необходимо вынести в MS Word сначала, документ потом его исполнителей. Подскажите как лучше сделать?
...
Рейтинг: 0 / 0
Access To Word
    #39742676
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простая работа с MS Word
Там пример внизу, второй вариант вывода, думаю, похож на вашу задачку.
...
Рейтинг: 0 / 0
Access To Word
    #39743142
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS, Благодарю! Буду изучать
...
Рейтинг: 0 / 0
Access To Word
    #39748644
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS, чуть чуть не такая задача ... там описано как вывести исполнителей ... а мне сначала описание документа надо выводить .... я могу его привязать к закладке ... но как мне далее привязываться не могу понять ...

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

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

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

Козлов
Сидоров
Семенов -2 таблица
...
Рейтинг: 0 / 0
Access To Word
    #39748745
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
objWord.ActiveDocument.Bookmarks.Item("' & pBookmarksNew & '").Range.Text = rstCurr!Kod_potoka - можно переменную использовать для имени закладки?

и ThisDocument.Bookmarks.Add Name:="temp", Range:=Selection.Range - вместо "temp" можно ли прописать переменные, если да то подскажите какой синтаксис ?
...
Рейтинг: 0 / 0
Access To Word
    #39748882
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
выложите лучше пример базы и более-менее реальный шаблон
это заметно ускорило бы получение НОРМАЛЬНОГО совета по решению вашей проблемы
...
Рейтинг: 0 / 0
Access To Word
    #39749211
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

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

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

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

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

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

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

https://yadi.sk/d/gTZ9LCMALo2cnA
...
Рейтинг: 0 / 0
Access To Word
    #39749362
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JDV,

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

В итоге получился упрощенный аналог компонента EkRTF.
...
Рейтинг: 0 / 0
Access To Word
    #39749433
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDVНиже по ссылке пример кода

не поняла я ваших примеров
--шаблон пустой --только 1 закладка
--код непонятен
--причем в коде необъявленные переменные
Код: vbnet
1.
2.
3.
4.
5.
Option Explicit
Sub rptPrikaz()
 '''''''''''''не объявленные переменные.......................
 Dim pNumber, pBookmarksNew, Zakladka_01
''''''''''''''''''''''''''''''''''''''''''''
...
Рейтинг: 0 / 0
Access To Word
    #39749450
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если исправить так, то что-то всеж формируется
Код: vbnet
1.
2.
3.
4.
5.
6.
 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
...
Рейтинг: 0 / 0
Access To Word
    #39749659
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

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

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

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

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

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

Козлов
Сидоров
Семенов -2 таблица
...
Рейтинг: 0 / 0
Access To Word
    #39749724
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
А если добавить еще одну таблицу,то Ваш вопрос очень легко решаем:
...
Рейтинг: 0 / 0
Access To Word
    #39749791
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, да но как потом вывести в Word .... со знаками разделения
...
Рейтинг: 0 / 0
Access To Word
    #39749793
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
чтоб ответить на этот вопрос нужно увидеть скрин того что Вы хотите видеть (может и отчета в Аксе будет достаточно)
...
Рейтинг: 0 / 0
Access To Word
    #39749813
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
В Word надо
...
Рейтинг: 0 / 0
Access To Word
    #39749876
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
еще вопрос:а кто же все-таки главный из 3
или все исполнители "равноправны" и какие данные надо выводить из "2-ой таблицы"
типа:вывести № приказа о назначении исполнителей(сроках,задачах) и такие-то данные(документы)по этому заданию
...
Рейтинг: 0 / 0
Access To Word
    #39749902
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

Данные о Приказе ...в принципе любые, а потом исполнители ... сортировать по фамилии ... но думаю если я смысл пойму сортировку сам решу ...
...
Рейтинг: 0 / 0
Access To Word
    #39750120
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JDV,

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

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
 For each ttop in dbselect(" * from документы " & Условие)
   ВставитьАбзац(ttop.документ);  
   For each tlist in dbselect("исполнители.исполнитель from главная inner join исполнители on исполнители.коди =  главная.исполнитель where документ= " & ttop.кодд )
     ВставитьАбзац(tlist.исполнитель);  
   next
   ВставитьАбзац("");  
 next
...
Рейтинг: 0 / 0
Access To Word
    #39751644
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Access To Word
    #39751645
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV, Ошибка операция не поддерживается для объектов данного типа
...
Рейтинг: 0 / 0
Access To Word
    #39751676
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JDV,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
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 
...
Рейтинг: 0 / 0
Access To Word
    #39762577
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111, Благодарю!!!!!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access To Word
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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