Объявление таблиц в модуле

0 голосов
спросил 24 Июль, 03 от Vlad1 (520 баллов) в категории Программные продукты Esri

Испытываю затруднение в описании передачи текстовых данных в Таблицу атрибутов слоя на VBA в Arc View 8.2. Слой в персональной базе геоданных (mdb).

Задача следующая: Создается объект на слое. Нажимается моя кнопка на моей панели. Появляется форма с несколькими Combo Box из которых выбираются значения. После проверки ifthen выбранные значения присваиваются  нескольким переменным. После закрытия формы значения переменных должны быть переданы в соответствующие поля текущей (только что созданной) записи. Как объявить все нужные объекты Arc, для текущего сеанса редактирования и передать значения в таблицу? В «Help for Developers» подобного примера нет.

2 Ответы

0 голосов
ответил 25 Июль, 03 от Гость (210,080 баллов)

Если вы создали объект то у Вас должен быть указатель на этот объект (напр. pFeature as IFeature).

Для того чтобы получить доступ к значению i-ого столбца атрибутивной таблицы данного объекта, у интерфейса IFeature есть метод Value:

pFeature.Value(i).

(Вы можете присвоить новое или прочитать старое значение)

Для того чтобы найти нужный столбец у IFeature есть доступ к коллекции Fields, в которой есть методы для нахождения индекса столбца по имени (FindField) и по алиасу (FindFieldByAliasName).

0 голосов
ответил 29 Июль, 03 от Vlad1 (520 баллов)

Всетаки получилось самому, что хотелось:

Dim pID As New UID<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

        Dim pApp As IApplication

        Dim pEditor As IEditor

        Dim pEnumFeature As IEnumFeature

        pID = "esriCore.Editor"

        Set pApp = Application

        Set pEditor = pApp.FindExtensionByCLSID(pID)

        Set pEnumFeature = pEditor.EditSelection

        pEnumFeature.Reset

        Dim myFEATURE As Ifeature

        Set myFEATURE = pEnumFeature.Next

        j = myFEATURE.Fields.FindField("PODVID")

        myFEATURE.Value(j) = podvid

 

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...