Обновление SQL-таблицы

0 голосов
спросил 22 Июнь, 04 от Leo_SS (6,820 баллов) в категории Программные продукты Esri
Уважаемые участники форума есть такая задача.
Имеем:
Через SQL-Connect получаем SQL-таблицу из удаленной базы данных.
SQL-таблицу присоединяем к теме -> раскрашиваем по параметру из присоединенной SQL-таблицы.
Меняем этот параметр в базе. SQL-таблица в проекте не обновляется автоматически, а только по кнопке Refresh. После такого обновления присоединенная к теме таблица тоже не обновилась. Приходится переприсоединять обновленную. После переприсоединения
слетает раскраска по параметру, снова приходиться повторить раскраску.
Нужно:
Сделать эту цепочку автоматической - поменяли параметр в базе - обновилась раскраска темы в проекте.
Подойдут скрипты или коды на автоматизацию отдельных шагов задачи.

9 Ответы

0 голосов
ответил 22 Июнь, 04 от Vasiliy2 (8,240 баллов)

На самом деле вы работаете с результатом запроса, который хранится в табл.  sql*.dbf  ($HOME где * это 1, 2 и тд) при присоединении в рабочем каталоге появится другая sql*.dbf и вот в ней то и должны произойти изменения. Обладая ловкостью фокусника можно заменить результатом рефреша эту "присоединенную" таблицу.

0 голосов
ответил 23 Июнь, 04 от Ilya (10,800 баллов)

Можно написать скрипт который обнавляет таблицу и легенду

 ' Обновляем dbf таблицу (SOL)
theTable = theProject.FindDoc("theme1.dbf")
theTable.GetVTab.Refresh

' Обновляем тему
theTheme = theProject.FindDoc("theme2")
theTheme.GetVTab.Refresh

' Обновляем легенду
theTheme.UpdateLegend

0 голосов
ответил 23 Июнь, 04 от Leo_SS (6,820 баллов)

Илья большое спасибо за коды.

Это и так было понятно, а как заставить скрипт крутится сутками и обновлять таблицу через промежутки времени. Еще лучше задавать этот промежуток. У меня в этом вся проблема.

0 голосов
ответил 28 Июнь, 04 от dindzilin (4,160 баллов)
В Helpe АВ, посмотри такую весчь как "av.DelayedRun(...)", там есть ответ на твой вопрос ....
0 голосов
ответил 29 Июнь, 04 от Leo_SS (6,820 баллов)

Большое спасибо всем кто откликнулся! Получился неплохой диспетчер состояния объектов (по приконекченной базе данных).

Leo_ss

0 голосов
ответил 29 Июнь, 04 от Vasiliy2 (8,240 баллов)

То Leo_SS

А вот теперь и обнародуй всю "цепочку" в кодах для будущих поколений. Многим полезно будет конкретное решение задачи

0 голосов
ответил 29 Июнь, 04 от Leo_SS (6,820 баллов)
В скриптах на ESRI.com нашел Blinker.avx . Переписал скрипты, создал диалог со Slider-ом. В Blinker_Tool заменил кусок где он моргает на скрипт обновления таблиц и легенды. Привязал к кнопке стартуемый файл. Вот такая модификация.
0 голосов
ответил 25 Апр, 05 от Гость (210,080 баллов)

Василий >>

"То Leo_SS

А вот теперь и обнародуй всю "цепочку" в кодах для будущих поколений. Многим полезно будет конкретное решение задачи"

Ага, полностью поддерживаю просьбу image

0 голосов
ответил 25 Апр, 05 от Гость (210,080 баллов)
40 минут тупо смотрю в Blinker_Tool и думаю.. ну почему я не программер...image
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...