zoukankan      html  css  js  c++  java
  • PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

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

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

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

    将该语句保存为name2comment.vbs

    代码
    '把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 实习互换。语句为:

    代码
    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  
  • 相关阅读:
    wxpython 支持python语法高亮的自定义文本框控件的代码
    小米平板6.0以上系统如何不用Root激活Xposed框架的步骤
    vivo4.0系统怎么不ROOT激活Xposed框架的教程
    oppo设备怎么样无需root激活XPOSED框架的教程
    OPPO A7x在哪里开启usb调试模式的详细经验
    python将两个数组合并成一个数组的两种方法的代码
    (最详细)小米MIX的Usb调试模式在哪里打开的教程
    (简单)华为荣耀9i LLD-AL20的Usb调试模式在哪里开启的方法
    linux c ---raise 使用范例的代码
    oppo8.0系统怎么无需Root激活Xposed框架的经验
  • 原文地址:https://www.cnblogs.com/netsql/p/1742734.html
Copyright © 2011-2022 走看看