`

PowerDesigner表的name和comment互转

 
阅读更多

  将Name中的字符COPY至Comment中

  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

 

 

  将Comment中的字符COPY至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

  以上两段代码都是VB脚本,在PowerDesigner中使用方法为:

  PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

  将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics