Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powerdesigner vb/vba如何设置excel源2目标提取的默认表映射_Vba_Excel_Powerdesigner - Fatal编程技术网

powerdesigner vb/vba如何设置excel源2目标提取的默认表映射

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'

我正在编写一个脚本,从powerdesigner 16提取源到目标数据。我有一个表,它来源于powerdesigner MAPPING_1、MAPPING_2等中的多个映射。我不知道如何使用vba代码设置默认映射。我目前正在使用下面的代码访问映射。它将访问上次保存数据模型时处于活动状态的默认映射。如果有人知道如何做到这一点,我将非常感谢

谢谢

'
' 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