You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerDesigner中如何通过VB脚本读取Extended Collection子记录的Code属性

修正后的完整代码
Dim object, coll
Set object = ActiveModel.FindChildByName("Table_1",cls_Table)
Set coll = object.GetExtendedCollection("Collection_1")
for each coll_member in coll.Elements
    output coll_member.TargetObject.Code
next
两处替换说明
  • 第一处??????替换为Elements:PowerDesigner 中扩展集合的所有存储条目都挂载在Elements属性下,是遍历扩展集合成员的固定调用属性。
  • 第二处??????替换为TargetObject:扩展集合内存储的不是直接的抽象数据类型实例,而是关联关系的包装对象,需要通过TargetObject属性获取到实际关联的AbstractDataType对象后,才能正常读取其Code属性。
可选补充:仅读取AbstractDataType_1的Code

如果不需要遍历所有关联的ADT,仅需要获取指定对象的属性,可在循环内增加判断条件:

Dim object, coll
Set object = ActiveModel.FindChildByName("Table_1",cls_Table)
Set coll = object.GetExtendedCollection("Collection_1")
for each coll_member in coll.Elements
    If coll_member.TargetObject.Name = "AbstractDataType_1" Then
        output coll_member.TargetObject.Code
    End If
next

内容的提问来源于stack exchange,提问作者Владислав Левчук

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 07:06:10