powerDesign经验谈(2)-注释、名称互转

目录

    • 1. 注释转名称comment2name
    • 2. 注释转名称name2conmment

powerdesigner的常用操作:

在实际的工作中经常会用到将“注释和name”互转,具体如下:

  1. 菜单运行: Tools --> Execute Commads -->Edit/Run Script…

1. 注释转名称comment2name

'1、注释转名称(包含表名、视图名)
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
'1、注释转名称(包含仅字段名)
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
                  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
 
      '   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. 注释转名称name2conmment

'******************************************************************************  
'* File:   name2comment.vbs  
'* Title:  Name to Comment Conversion  
'* Model:  Physical Data Model  
'* Objects: Table, Column, View  
'* Author: steveguoshao  
'* Created: 2013-11-29  
'* Mod By:   
'* Modified: 
'* Version: 1.0  
'* Memo:   Modify from name2code.vbs  
'******************************************************************************  
  
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 
      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  

你可能感兴趣的:(数据库架构,powerdesigner,pd,技巧)