ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【转】PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码

【转】PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码

原创 Linux操作系统 作者:sunyudong 时间:2012-02-17 10:38:58 0 删除 编辑

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

 代码一:将Name中的字符COPY至Comment中


'****************************************************************************** 
'
*    File:            name2comment.vbs 
'
*    Purpose:      Database    generation    cannot    use    object    names    anymore  
'
                          in    version    7    and    above. 
'
                          It    always    uses    the    object    codes. 
'
 
'
                          In    case    the    object    codes    are    not    aligned    with    your  
'
                          object    names    in    your    model,    this    script    will    copy  
'
                          the    object    Name    onto    the    object    Comment    for  
'
                          the    Tables    and    Columns. 
'
 
'
*    Title:        
'
*    Version:      1.0 
'
*    Company:      Sybase    Inc.  
'
****************************************************************************** 


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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/312949/viewspace-716646/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-04-27

  • 博文量
    23
  • 访问量
    44861