Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Скрипты PowerDesigner: работа с доменами / 3 сообщений из 3, страница 1 из 1
05.09.2012, 14:10
    #37944689
zenk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипты PowerDesigner: работа с доменами
Добрый день!

Осваиваю написание скриптов в PowerDesigner 15, не могу решить одну задачу:
для полей с типом данных integer требуется заполнить атрибут Domain соответствующим типу integer
доменом с именем T_INT.
Если я пытаюсь задать значение "T_INT" для атрибута Domain, получаю ошибку
"Ошибка выполнения Microsoft VBScript. Несоответствие типа: 'col.Domain' (0x800A000D)".
Если пытаюсь заполнить атрибут SymbolDataType, получаю
"Ошибка выполнения Microsoft VBScript Недопустимое число аргументов или присвоение значения свойства: 'col.SymbolDataType' (0x800A01C2)"

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub FillDomain(tbl)
   dim col
   for each col in tbl.Columns   'Ниже - то, что возвращается
       output col.Domain         'Domain 'T_INT'
       output col.SymbolDataType 'T_INT
       output col.DataType       'integer

       If UCase(col.Datatype) = UCase("integer") then 
          col.SymbolDataType = "T_INT" 'Ошибка выполнения Microsoft VBScript
                                        'Недопустимое число аргументов или присвоение значения свойства: 'col.SymbolDataType' (0x800A01C2) 
          col.Domain = "T_INT" 'Ошибка выполнения Microsoft VBScript
                               'Несоответствие типа: 'col.Domain' (0x800A000D)

       end if
    Next
End Sub



Модератор: Тема перенесена из форума "Разработка информационных систем".
...
Рейтинг: 0 / 0
06.09.2012, 08:10
    #37945867
Kasper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипты PowerDesigner: работа с доменами
zenk,

Может это поможет
Sybase PowerDesigner Metamodel Objects helpGetAttribute(ByVal Member As String) As Any
Retrieves an attribute value knowing the attribute name.
SetAttribute(ByVal Member As String, ByVal Value As Any)
Performs a generic write access to an attribute value, knowing the attribute name.
...
Рейтинг: 0 / 0
06.09.2012, 10:42
    #37946067
zenk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипты PowerDesigner: работа с доменами
Kasper,

Спасибо!
Попробую и отпишусь. Раньше в скриптах изменял только Code и Name объектов, а для них срабатывает простое присваивание.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Скрипты PowerDesigner: работа с доменами / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]