PowerDesigner 中的name与comment转换(转)

1 PowerDesigner中批量根据对象的name生成comment的脚本

转自:http://blog.itpub.net/10972173/viewspace-702775/
执行方法:Open PDM -- Tools -- Execute Commands -- Run Script

Vb script代码 
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 

 

2 PowerDesigner中逆向工程将数据库中comment脚本赋值到PDM的name

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



Vb script代码 

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

猜你喜欢

转载自pb-water.iteye.com/blog/2282367