如何使PowerDesigner中PDM中的name和comment互换

2010-08-27 阅读数:1821

昨天利用PowerDesigner 15从oracle数据库反向工程把表导出了PDM文件,里面的图排得好漂亮,但发现导出的table的name显示是与字段名一样,是英文的,所以就在网上找了下资料,发现只需在PowerDesigner里面执行一些VB脚本即可:

执行方法:Open PDM -- Tools -- Execute Commands -- Run Script

其中脚本如下:

1、PowerDesigner中程将数据库中comment脚本赋值到PDM的name

Option Explicit  
ValidationMode = True  
InteractiveMode = im_Batch  
 
Dim mdl 'the current model  
 
'get the current active model  
Set mdl = ActiveModel  
If (mdl Is Nothing) Then  
MsgBox "There is no current Model" 
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
MsgBox "The current model is not an Physical Data model." 
Else  
ProcessFolder mdl  
End If  
 
'This routine copy name into code for each table, each column and each view  
'of the current folder  
Private sub ProcessFolder(folder)  
 
Dim Tab 'running table  
for each Tab in folder.tables  
if not tab.isShortcut then  
if len(tab.comment) <> 0 then  
tab.name = tab.comment  
end if  
On Error Resume Next  
Dim col 'running column  
for each col in tab.columns  
if len(col.comment) <>0 then  
col.name =col.comment  
end if  
On Error Resume Next  
next  
end if  
next  
end sub 

2、PowerDesigner中批量根据对象的name生成comment的VB脚本

Option Explicit  
ValidationMode = True  
InteractiveMode = im_Batch  
 
Dim mdl 'the current model  
 
'get the current active model  
Set mdl = ActiveModel  
If (mdl Is Nothing) Then  
MsgBox "There is no current Model" 
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
MsgBox "The current model is not an Physical Data model." 
Else  
ProcessFolder mdl  
End If  
 
'This routine copy name into code for each table, each column and each view  
'of the current folder  
Private sub ProcessFolder(folder)  
Dim Tab 'running table  
for each Tab in folder.tables  
if not tab.isShortcut then  
tab.comment = tab.name  
Dim col 'running column  
for each col in tab.columns  
col.comment= col.name  
next  
end if  
next  
 
Dim view 'running view  
for each view in folder.Views  
if not view.isShortcut then  
view.comment = view.name  
end if  
next  
 
'go into the sub-packages  
Dim f 'running folder  
For Each f In folder.Packages  
if not f.IsShortcut then  
ProcessFolder f  
end if  
Next  
end sub

 

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: 如何使PowerDesigner中PDM中的name和comment互换

相关评论

验证码: