• PowerDesigner中NAME和COMMENT的互相转换,需要执行语句


    使用说明: 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。输入下面你要选择的语句即可,也可以保存起来,以便下次使用,后缀为.vbs。

     需要注意的问题是:运行语句时必须在Module模式下,如果是导出报表时执行会出现错误提示。

    1.Name转到Comment注释字段。一般情况下只填写NAME,COMMENT可以运行语句自动生成。

    将该语句保存为name2comment.vbs

    代码
    
    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->'把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中,comment2name.vbs 实习互换。语句为:

    代码
    
    Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->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
  • 相关阅读:
    宝宝咳嗽
    如何查看 oracle 官方文档
    00 序 建立环境
    09 变量重游
    【TYVJ】1359
    【COGS】147. [USACO Jan08] 架设电话线(二分+spfa)
    【wikioi】1904 最小路径覆盖问题(最大流+坑人的题+最小路径覆盖)
    【wikioi】1034 家园(最大流+特殊的技巧)
    【BZOJ】1040: [ZJOI2008]骑士(环套树dp)
    【POJ】2234 Matches Game(博弈论)
  • 原文地址:https://www.cnblogs.com/luyang1990/p/4546635.html
Copyright © 2020-2023  润新知