2017-07-12 16 views
0

我正在研究一個腳本來從powerdesigner 16中提取目標數據。我有一個源於powerdesigner MAPPING_1中多個映射的表, MAPPING_2等。我無法弄清楚如何使用vba代碼設置默認映射。我目前使用下面的代碼訪問映射。它將訪問我上次保存數據模型時處於活動狀態的默認映射。如果有人對如何做到這一點有所瞭解,我會非常感激。powerdesigner vb/vba如何爲excel源2設置默認表映射目標提取

感謝

' 
' get the table 
' Dim mytable, col, cm 
    mytable = 'CUSTOMER_STAGING' 
    Dim obj As PdCommon.IdentifiedObject 
    Set obj = baseModel.FindChildByCode(mytable, cls_Table) 

    For Each col In obj.Columns 
     For Each cm In col.Mappings 
     Next 
    next 

回答

0

不完全一樣的對象,我開始與概念模型玩。兩個源和一個目標,所有實體名爲Entity_1,Entity_2,映射設置爲嚮導的例外。

不完全相同的代碼,當我開始使用VBScript玩....

但似乎我能只是通過設置DefaultMapping屬性更改默認映射:

option explicit 
dim myname 
myname = "ENTITY_1" 
Dim obj : Set obj = ActiveModel.FindChildByCode(myname, cls_Entity) 
output "default: " & obj.defaultmapping 
dim cm,changed 
changed = false 
For Each cm In obj.Mappings 
    output cm 
    if cm <> obj.defaultmapping and not changed then 
     output "set to " & cm 
     changed = true 
     set obj.defaultmapping=cm 
    end if 
Next 
output "default: " & obj.defaultmapping 
相關問題