1. 程式人生 > >Powerdesigner Name與Comment的互相轉換

Powerdesigner Name與Comment的互相轉換

roc uri imp rand nbsp mode cti skin ext

使用說明: 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。輸入下面你要選擇的語句即可:

1、Name填充Comment

把pd中那麽name想自動添加到comment裏面
如果comment為空,則填入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 comment 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 trim(tab.comment)="" then
如果有表的註釋,則不改變它.如果沒有表註釋.則把name添加到註釋裏面. tab.comment = tab.name end if Dim col running column for each col in tab.columns if trim(col.comment)="" then 如果col的comment為空,則填入name,如果已有註釋,則不添加;這樣可以避免已有註釋丟失. col.comment= col.name end if next end if next Dim view running view for each view in folder.Views if not view.isShortcut and trim(view.comment)="" 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、Comment填充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    
  
Private   sub   ProcessFolder(folder)    
On Error Resume Next   
      Dim   Tab   running     table    
      for   each   Tab   in   folder.tables    
            if   not   tab.isShortcut   then    
                  tab.name   =   tab.comment   
                  Dim   col      running   column    
                  for   each   col   in   tab.columns    
                  if col.comment="" then   
                  else  
                        col.name=   col.comment    
                  end if  
                  next    
            end   if    
      next    
  
      Dim   view   running   view    
      for   each   view   in   folder.Views    
            if   not   view.isShortcut   then    
                  view.name   =   view.comment    
            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 

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

Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.comment
Dim col running column
for each col in tab.columns
if col.comment="" then
else
col.name= col.comment
end if
next
end if
next

Dim view running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.comment
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

Powerdesigner Name與Comment的互相轉換