PowerDesigner sql生成pdm,pdm的name和注释互换

无论15还是16.视图中都没有直接设置显示属性字段注释的配置,因此需要通过间接的方式显示注释,操作的流程图如下

 

原始样式

显示操作

 

 

调出执行命令的接口

 

执行夏利命令

从name替换comment

 

  1.  
    Option Explicit
  2.  
    ValidationMode = True
  3.  
    InteractiveMode = im_Batch
  4.  
     
  5.  
    Dim mdl ' the current model
  6.  
     
  7.  
    ' get the current active model
  8.  
    Set mdl = ActiveModel
  9.  
    If (mdl Is Nothing) Then
  10.  
    MsgBox "There is no current Model "
  11.  
    ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
  12.  
    MsgBox "The current model is not an Physical Data model. "
  13.  
    Else
  14.  
    ProcessFolder mdl
  15.  
    End If
  16.  
     
  17.  
    ' This routine copy name into comment for each table, each column and each view
  18.  
    ' of the current folder
  19.  
    Private sub ProcessFolder(folder)
  20.  
    Dim Tab 'running table
  21.  
    for each Tab in folder.tables
  22.  
    if not tab.isShortcut then
  23.  
    tab.comment = tab.name
  24.  
    Dim col ' running column
  25.  
    for each col in tab.columns
  26.  
    col.comment= col.name
  27.  
    next
  28.  
    end if
  29.  
    next
  30.  
     
  31.  
    Dim view 'running view
  32.  
    for each view in folder.Views
  33.  
    if not view.isShortcut then
  34.  
    view.comment = view.name
  35.  
    end if
  36.  
    next
  37.  
     
  38.  
    ' go into the sub-packages
  39.  
    Dim f ' running folder
  40.  
    For Each f In folder.Packages
  41.  
    if not f.IsShortcut then
  42.  
    ProcessFolder f
  43.  
    end if
  44.  
    Next
  45.  
    end sub

 

 

 

从comment替换name

 

  1.  
    Option Explicit
  2.  
    ValidationMode = True
  3.  
    InteractiveMode = im_Batch
  4.  
     
  5.  
    Dim mdl ' the current model
  6.  
     
  7.  
    ' get the current active model
  8.  
    Set mdl = ActiveModel
  9.  
    If (mdl Is Nothing) Then
  10.  
    MsgBox "There is no current Model "
  11.  
    ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
  12.  
    MsgBox "The current model is not an Physical Data model. "
  13.  
    Else
  14.  
    ProcessFolder mdl
  15.  
    End If
  16.  
     
  17.  
    Private sub ProcessFolder(folder)
  18.  
    On Error Resume Next
  19.  
    Dim Tab 'running table
  20.  
    for each Tab in folder.tables
  21.  
    if not tab.isShortcut then
  22.  
    tab.name = tab.comment
  23.  
    Dim col ' running column
  24.  
    for each col in tab.columns
  25.  
    if col.comment="" then
  26.  
    else
  27.  
    col.name= col.comment
  28.  
    end if
  29.  
    next
  30.  
    end if
  31.  
    next
  32.  
     
  33.  
    Dim view 'running view
  34.  
    for each view in folder.Views
  35.  
    if not view.isShortcut then
  36.  
    view.name = view.comment
  37.  
    end if
  38.  
    next
  39.  
     
  40.  
    ' go into the sub-packages
  41.  
    Dim f ' running folder
  42.  
    For Each f In folder.Packages
  43.  
    if not f.IsShortcut then
  44.  
    ProcessFolder f
  45.  
    end if
  46.  
    Next
  47.  
    end sub


最终效果图如下

 

可以看到图1中的id列已被中文注释替换。

 

 

 

 

 

 

 

posted @ 2020-05-28 17:45  迷你淘  阅读(399)  评论(0)    收藏  举报