RUS  ENG 

Обновление данных (написание макроса для изменения поля в ZuluGIS 2021)

Страницы: 1
RSS
Обновление данных (написание макроса для изменения поля в ZuluGIS 2021), Необходимо написать макрос, который изменяет одно поле в зависимости от другого (Версия 10.0.0.8775u.x64)
 
Доброе утро! Задача такая: в "Участки" есть поле "Потери" (данные для заполнения берутся из словаря), необходимо в зависимости от того, какой год, записать данные.
Вот краткий пример как я это делала:

Sub Ins ertDataDependingOnYear
Set L = Zulu.ActiveMapDoc.Layers.Active
Set Db = CreateObject("zb.database")
Db.Open L.ObjectTypes.Item(6).BaseName 'Выбираем участки
Set Ds = Db.SelectAll
Ds.MoveFirst
Do
If Ds.EOF = True Then Exit Do
yearOfConstruction = Ds.FieldVal ue(Ds.GetFieldIndexByName(0, "year"))
If yearOfConstruction > 2010 And yearOfConstruction > 2010 Then
losses = 10
Key = Ds.GetFieldValueVar(0)
Db.UpdateBaseRecord Key, "losses", losses, 0
End If
Ds.MoveNext
Loop
End Sub

Результат: Судя по номерам Sys (например, последний номер был 10, стал 20), макрос будто добавляет новые записи без остальных данных, только с полем "Потери".
Как не добавлять новые записи, а изменить имеющиеся?
При этом если заходить в "SQL запрос", то там ничего не меняется, а если выбрать инструмент "Информация", нажать на элемент и перейти во вкладку "База", то там уже видны изменения (см. Результат).
Делала по примеру https://www.politerm.com/samples/zulugis/macros/ReadAndChangeTableRecords/
Изменено: Дарья Чепикова - 23.04.2024 10:06:07
 
Цитата
написал:
Доброе утро! Задача такая: в "Участки" есть поле "Потери" (данные для заполнения берутся из словаря), необходимо в зависимости от того, какой год, записать данные.

Результат: Судя по номерам Sys (например, последний номер был 10, стал 20), макрос будто добавляет новые записи без остальных данных, только с полем "Потери".
Как не добавлять новые записи, а изменить имеющиеся?
При этом если заходить в "SQL запрос", то там ничего не меняется, а если выбрать инструмент "Информация", нажать на элемент и перейти во вкладку "База", то там уже видны изменения (см. Результат).
Делала по примеру https://www.politerm.com/samples/zulugis/macros/ReadAndChangeTableRecords/
Добрый день. В таблице, записи которой обновляете, нет поля со счетчиком? Пришлите, пожалуйста, структуру слоя на [email protected]
Посмотрим
Страницы: 1