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

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

5 Март 2021, 18:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Автоматическое обновление импортированного источника данных  (Прочитано 3046 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexWorkStream
Форумчанин
***
Offline Offline

Сообщений: 51


« Стартовое сообщение: 28 Октябрь 2016, 11:52 »

Есть документ с импортированными в него (через ctrl+shift+F4) нескольких источников данных.
Задача состоит в том, чтобы эти данные автоматически обновлялись через определенный промежуток времени или при изменении самих баз данных.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 061


iMac, LibreOffice и Apache OpenOffice


« Ответ #1: 28 Октябрь 2016, 12:09 »

Есть документ с импортированными в него (через ctrl+shift+F4) нескольких источников данных.
Задача состоит в том, чтобы эти данные автоматически обновлялись через определенный промежуток времени или при изменении самих баз данных.
Автоматического обновления нет, только ручное, Данные —> Обновить диапазон
Записан

AlexWorkStream
Форумчанин
***
Offline Offline

Сообщений: 51


« Ответ #2: 28 Октябрь 2016, 12:14 »

Автоматического обновления нет, только ручное, Данные —> Обновить диапазон
Это я знаю, но дошло до того, что данных слишком много в разных местах и обновлять вручную или переоткрывать документ- не вариант. Может есть способ макросами решить?
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 061


iMac, LibreOffice и Apache OpenOffice


« Ответ #3: 28 Октябрь 2016, 12:29 »

Может есть способ макросами решить?
Код:
Sub main   'Обновить данные из баз данных
dRange=ThisComponent.DatabaseRanges
For i=0 To dRange.Count-1
dRange.getByIndex(i).refresh
Next
End Sub
Записан

AlexWorkStream
Форумчанин
***
Offline Offline

Сообщений: 51


« Ответ #4: 28 Октябрь 2016, 12:38 »

Sub main   'Обновить данные из баз данных
dRange=ThisComponent.DatabaseRanges
For i=0 To dRange.Count-1
dRange.getByIndex(i).refresh
Next
End Sub

Спасибо огромное! То, что нужно.
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 392


« Ответ #5: 28 Октябрь 2016, 12:48 »

Данный макрос можно дергать по таймеру каждый N минут.

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

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 061


iMac, LibreOffice и Apache OpenOffice


« Ответ #6: 28 Октябрь 2016, 13:05 »

Данный макрос можно дергать по таймеру каждый N минут.

Но лучше подумать и привязать к какому-либо нечастому, но "конкретному" событию. Тут уже думайте сами.
Речь идёт об обновлении из разных баз, нужно время для подключения к каждой. Лучше запускать макрос вручную когда есть надобность, особенно на старом железе, а не удивляться Шокирован почему "переклинило" комп Непонимающий
Записан

economist
Форумчанин
***
Offline Offline

Сообщений: 1 392


« Ответ #7: 28 Октябрь 2016, 14:00 »

Разные базы могут быть очень даже одинаковыми и быстрыми. Тут надо смотреть по месту.

Вот мне нужно было из 3-х баз данных (DBF, TXT, MySQL) собирать одну и гонять 30 тяжелых запросов по 5-10 раз в день. Быстрее всего оказалось создание IN-MEMORY баз SQLite и их аттачинг. Время выполнения запросов упало с 30 секунд до 0,3 секунд.

Кстати, в связи с этим отказался и от пула подключений.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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