Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
Приветствую всех! Помогите решить задачу. Надо подготовить документ Ворд на основе шаблона. Не могу сделать перенос данных из "подформаПлатежи" в заранее нарисованную в шаблоне таблицу. Надо переносить "Номер_недели" из подформы в "Неделя" шаблона и "Платеж" из подформы в "Платеж" шаблона. Количество Платежей(недель) может быть разное, но не более 30. Таблица в шаблоне должна быть именно такая - 15строк + 15строк, в один столбец вертикально нельзя.
Выкладываю файлы бд и шаблона.

К сообщению приложен файл. Размер - 78Kb
2 фев 19, 21:55    [21800567]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
wladimirrr,

К сообщению приложен файл. Размер - 84Kb
2 фев 19, 21:55    [21800568]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
бд и шаблон

К сообщению приложен файл (Платежи.rar - 50Kb) cкачать
2 фев 19, 21:56    [21800569]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
wladimirrr,

прототип решения в принципе имеется

непонятно только
--платеж в неделю произволен(можно ли пропустить неделю)
--как определяется сумма в неделю

Код_платежаКод_контрактаНомер_неделиПлатеж
13211 000,00р.
14221 000,00р.
15231 000,00р.
16241 000,00р.
17251 000,00р.
18261 000,00р.
19271 000,00р.
20281 000,00р.
2129900,00р.
22210900,00р.
232111 100,00р.
242121 100,00р.
252131 000,00р.
262141 000,00р.
272151 000,00р.
282161 000,00р.
292171 500,00р.
302181 500,00р.
31219500,00р.
32220500,00р.
2 фев 19, 22:05    [21800570]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
wladimirrr,

обязательно ли платежи в 2 колонки --количество то платежей -- разное
2 фев 19, 22:07    [21800572]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
ПЕНСИОНЕРКА, количество недель это параметр контракта. оно может быть от1-го до 30-ти. Платеж в конкретную неделю задается вручную при подготовке контракта. Пропускать платежи и недели нельзя.
2 фев 19, 22:15    [21800574]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
ПЕНСИОНЕРКА
wladimirrr,

обязательно ли платежи в 2 колонки --количество то платежей -- разное

в этом-то и засада. Нужно именно в 2 колонки заполнить платежами.
2 фев 19, 22:16    [21800575]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
wladimirrr
в этом-то и засада. Нужно именно в 2 колонки заполнить платежами.

завтра попробую подработать образец, сейчас уже поздно
2 фев 19, 22:25    [21800578]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
ПЕНСИОНЕРКА
wladimirrr
в этом-то и засада. Нужно именно в 2 колонки заполнить платежами.

завтра попробую подработать образец, сейчас уже поздно

Заранее благодарю!
2 фев 19, 22:26    [21800579]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
Swa111
Member

Откуда:
Сообщений: 86

ссылка на используемый компонент


Используя запросы из таблицы t_RepQuery можно сделать и на закладках (наверное).

К сообщению приложен файл (pack.zip - 116Kb) cкачать
3 фев 19, 13:39    [21800755]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
Swa111, очень интересное решение! Хорошо работает. К сожалению, я не смогу им воспользоваться. Дело в том, что в реале, бд и шаблон Контракт намного объемнее и сложнее. Я специально сделал простой пример для форума. Использовать Ваш метод в моем проекте мне не позволит отсутствие глубоких знаний в программировании. Очень жаль! А Вам большое спасибо!
3 фев 19, 14:26    [21800774]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
Swa111, мне нужно решить эту задачу именно с использованием шаблона Ворд.
3 фев 19, 14:27    [21800775]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
Swa111
Используя запросы из таблицы t_RepQuery можно сделать и на закладках (наверное).


исправила тьму необъявленных переменных
открыла отчет для 1-й записи
перешла на 2-ю .....не работает
вернулась на 1-ю ...тоже не работает
не смогла запустить формирование для
3 фев 19, 14:40    [21800780]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
Swa111
Member

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

Да, не было возможности протестировать на других конфигурациях и настройках отличных от Win7 (32/64) + Office 2010 (32),
по поводу не объявленных переменных, возможно у меня аксес настроен так что все необъявленные переменные автоматически объявляются как variant.
3 фев 19, 14:58    [21800786]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
Swa111
необъявленные переменные автоматически объявляются как variant.

это не проблема
главное --когда присваивается необъявленной необъявленная же переменная
например а=в, причем в тоже не объявлена и не присвоена
причем таких мест в вашем коде как минимум 3-4
3 фев 19, 15:15    [21800790]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
Swa111
Member

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

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

wladimirrr,

Разрешите использовать Вашу тестовую базу, для публикации в другом топике?
3 фев 19, 15:25    [21800792]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
Swa111
ПЕНСИОНЕРКА,

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

wladimirrr,

Разрешите использовать Вашу тестовую базу, для публикации в другом топике?

Да, конечно.
3 фев 19, 15:36    [21800794]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
Swa111,

строки с критическими ошибками помечены 6 апострофами(4 случая я пометила, но что-то пропустила)
просто дообъявления --3 апострофа
3 фев 19, 16:11    [21800800]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
wladimirrr,

забыла приложение

К сообщению приложен файл (Платежи190203p.zip - 139Kb) cкачать
3 фев 19, 16:12    [21800802]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
Swa111
Member

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

для составления сложных отчетов, без программирования все равно не обойтись
Вот есть пример вставки таблицы в шаблон ворд 15188954

В качестве запроса для RecordSet можно использовать такой запрос

select 
 qMain.n as nL,
 sum(nPayL) as nSumPayL,
 qMain.nR as nR,
 sum(Платеж) as nSumPayR
from
 (
  select 
   n,
   n + qHalf.nHalf as nR,
   Платеж as nPayL
   
  from 
  ((SELECT 
   d1.id + d2.id*10 + d3.id*100 + 1 as n
  from 
   digits d1, digits d2, digits d3
  )d inner join (select round(max(Номер_недели)/2,0) as nHalf from Платежи where Код_контракта = %contract%) qHalf on d.n <= qHalf.nHalf)
  left join 
    (select Номер_недели, Платеж from  Платежи where Код_контракта = %contract%) as tPayL on tPayL.Номер_недели = d.n 
 ) qMain 
left join 
  (select Номер_недели, Платеж from  Платежи where Код_контракта = %contract%) as tPayL on tPayL.Номер_недели = qMain.nR
group by n, nr;


заменив %contract% на текущий Код_контракта
3 фев 19, 16:28    [21800809]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
ПЕНСИОНЕРКА
wladimirrr,

забыла приложение

Не работает.
3 фев 19, 16:31    [21800810]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
Swa111
wladimirrr,

для составления сложных отчетов, без программирования все равно не обойтись
Вот есть пример вставки таблицы в шаблон ворд 15188954

В качестве запроса для RecordSet можно использовать такой запрос


заменив %contract% на текущий Код_контракта

С запросом вроде разобрался. А как адаптировать код в примере 15188954 в моем случае. Где в этом коде происходит вставка таблицы из запроса?
3 фев 19, 16:52    [21800819]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4449
wladimirrr
ПЕНСИОНЕРКА
wladimirrr,

забыла приложение

Не работает.

у меня тоже не работает --еще что-то не до-объявила
а в логику даже и не пыталась влезь
3 фев 19, 16:54    [21800821]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
Swa111
Member

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



Как то так (не проверял)
+
Public Function Contract()
Dim WD As Object
    Set WD = CreateObject("Word.Application")
    WD.Documents.Open FileName:=CurrentProject.Path & "\Контракт.dotx"
    WD.Visible = True
    WD.Application.WindowState = 1
    WD.Activate
    WD.ActiveDocument.Bookmarks("Number").Range.text = Nz(Forms!Контракты!Номер_контракта, "")
    WD.ActiveDocument.Bookmarks("Data").Range.text = Nz(Forms!Контракты!Дата_контракта, "")
    WD.ActiveDocument.Bookmarks("Summ").Range.text = Nz(Format(Forms!Контракты!Сумма_контракта, " ######0.00р."))
    WD.ActiveDocument.Bookmarks("Name1").Range.text = Nz(Forms!Контракты!подформаКлиенты.Form!ФИО, "")
    WD.ActiveDocument.Bookmarks("Name2").Range.text = Nz(Forms!Контракты!подформаКлиенты.Form!ФИО, "")
    WD.ActiveDocument.Bookmarks("Phone").Range.text = Nz(Forms!Контракты!подформаКлиенты.Form!Телефон, "")
    WD.ActiveDocument.Bookmarks("Addr1").Range.text = Nz(Forms!Контракты!подформаКлиенты.Form!Адрес, "")
    WD.ActiveDocument.Bookmarks("Addr2").Range.text = Nz(Forms!Контракты!подформаКлиенты.Form!Адрес, "")



    Dim rst As Recordset
    Dim strSQL As String
    
    strSQL ="select " & vbcrlf & _
            " qMain.n as nL," & vbcrlf & _
            " sum(nPayL) as nSumPayL," & vbcrlf & _
            " qMain.nR as nR," & vbcrlf & _
            " sum(Платеж) as nSumPayR" & vbcrlf & _
            "from" & vbcrlf & _
            " (select n, n + qHalf.nHalf as nR, Платеж as nPayL" & vbcrlf & _
            "  from ((SELECT " & vbcrlf & _
            "   d1.id + d2.id*10 + d3.id*100 + 1 as n" & vbcrlf & _
            "  from " & vbcrlf & _
            "   digits d1, digits d2, digits d3" & vbcrlf & _
            "  )d inner join (select round(max(Номер_недели)/2,0) as nHalf from Платежи where Код_контракта = %contract%) qHalf on d.n <= qHalf.nHalf)" & vbcrlf & _
            "  left join " & vbcrlf & _
            "    (select Номер_недели, Платеж from  Платежи where Код_контракта = %contract%) as tPayL on tPayL.Номер_недели = d.n " & vbcrlf & _
            " ) qMain " & vbcrlf & _
            "left join " & vbcrlf & _
            "  (select Номер_недели, Платеж from  Платежи where Код_контракта = %contract%) as tPayL on tPayL.Номер_недели = qMain.nR" & vbcrlf & _
            "group by n, nr;" 
          
   
    Set rst = New Recordset
    rst.Open strSQL, CurrentProject.Connection
    
    
    With CreateTableFromRecordset(objWord.ActiveDocument.Bookmarks("Details").Range, rst, True)
        
        ' Apply formatting
        .AutoFormat wdTableFormatProfessional
        .AutoFitBehavior wdAutoFitContent
        
        ' Fix up paragraph alignment
        .Range.ParagraphFormat.Alignment = wdAlignParagraphRight
        .Columns(1).Select
        objWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
        objWord.Selection.MoveDown
    End With
    
    WD.ActiveDocument.SaveAs FileName:=CurrentProject.Path & "\" & "Контракт" & "_" & [Forms]![Контракты]![Номер_контракта] & ".docx"
End Function


На место таблицы нужно поставить закладку с именем Details

К себе нужно скопировать функцию CreateTableFromRecordset
3 фев 19, 17:28    [21800847]     Ответить | Цитировать Сообщить модератору
 Re: Перенос данных из подчиненной формы в шаблон Ворд в заданном виде.  [new]
wladimirrr
Member

Откуда: Калужская обл.
Сообщений: 261
Swa111
wladimirrr,


К себе нужно скопировать функцию CreateTableFromRecordset

Откуда ее скопировать? Где она есть?
3 фев 19, 18:32    [21800867]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить