Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

21 Ноябрь 2017, 16:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Передача текста во Writer с помощью макроса  (Прочитано 104 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Abaret
Новичок
*
Offline Offline

Сообщений: 1


« Стартовое сообщение: 6 Ноябрь 2017, 22:28 »

Здравствуйте!

У меня следующая проблема, решение которой может понадобиться многим людям работающим с LO Base.

Есть две таблицы "Affair" и "Address". Таблицы связанны между собой третьей таблицей "Affair_Address".

Кроме того есть запрос "Affair_Query", который запрашивает данные из вышеуказанных таблиц. В запросе также показыватся ключи таблицы "Affair_Address", а именно "FK_Affair_ID" и "FK_Address_ID".

Формуляр состоит из основного формуляра "Filterformular", из субформуляра "Affairformular", и субсубформуляра "Addressformular“, который связан с субформуляром "Affairformular" и получает свои данные из таблицы "Affair_Address".

Моя цель заключается в следующем: С помощью макроса нужно получить данные от запроса "Affair_Query" и отправить его во Writer.

Следующий макрос работает лишь с одним первичным ключем. Следовательно, данные принимаются или с одного, или с другого формуляра, но не с двух сразу. Нужно, чтобы макрос одновременно получил два первичных ключа таблицы "Affair_Address" ("FK_Affair_ID" и "FK_Address_ID"), отфильтровал их и затем отправил во Writer, в котором стоят соответствующие заполнители текста.


Цитата:
REM  *****  BASIC  *****

Sub Main
   
   oMainform = ThisComponent.drawpage.Forms.getbyname("Filterformular")
   oSubForm = oMainForm.getbyname("Affairformular")
   oSubSubForm = oSubForm.getbyname("Addressformular")
   nID = oSubSubform.getint(1)
   oMailMerge = createunoservice("com.sun.star.text.MailMerge")
   oMailMerge.DataSourceName = "Test-DB"
   oMailMerge.DocumentURL = "file:///E:/Test/Templates .odt"
   oMailmerge.SaveAsSingleFile = 0
   oMailMerge.CommandType = 1
   oMailMerge.Command = "Affair_Query"
   oMailMerge.Filter = "FK_Affair_ID ="+nid
   oMailMerge.SaveAsSingleFile = true
   oMailMerge.FileNameFromColumn = true
   oMailMerge.Filenameprefix = "Name"
   oMailMerge.OutputType = 2
   oMailMerge.OutputUrl = "file:///E:/Post/"
   Dim MyProps()
   oMailMerge.execute(MyProps()
       
End Sub


Версии:
LO Version: 5.4.2.2
MySQL 5.7.20

Есть идеи, как решить проблему?
« Последнее редактирование: 7 Ноябрь 2017, 11:43 от Abaret » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!