powerdesigner vb/vba如何设置excel源2目标提取的默认表映射
我正在编写一个脚本,从powerdesigner 16提取源到目标数据。我有一个表,它来源于powerdesigner MAPPING_1、MAPPING_2等中的多个映射。我不知道如何使用vba代码设置默认映射。我目前正在使用下面的代码访问映射。它将访问上次保存数据模型时处于活动状态的默认映射。如果有人知道如何做到这一点,我将非常感谢 谢谢powerdesigner vb/vba如何设置excel源2目标提取的默认表映射,vba,excel,powerdesigner,Vba,Excel,Powerdesigner,我正在编写一个脚本,从powerdesigner 16提取源到目标数据。我有一个表,它来源于powerdesigner MAPPING_1、MAPPING_2等中的多个映射。我不知道如何使用vba代码设置默认映射。我目前正在使用下面的代码访问映射。它将访问上次保存数据模型时处于活动状态的默认映射。如果有人知道如何做到这一点,我将非常感谢 谢谢 ' ' get the table ' Dim mytable, col, cm mytable = 'CUSTOMER_STAGING'
'
' 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
当我开始玩概念模型时,对象并不完全相同。两个源和一个目标,所有这些源和目标都具有名为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
选项显式
模糊我的名字
myname=“实体_1”
Dim obj:Set obj=ActiveModel.FindChildByCode(myname,cls_实体)
输出“default:”&obj.defaultmapping
变暗厘米,变暗
更改=错误
对于对象映射中的每个cm
输出厘米
如果cm obj.defaultmapping未更改,则
输出“设置为”&cm
更改=真
设置obj.defaultmapping=cm
如果结束
下一个
输出“default:”&obj.defaultmapping