博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerDesigner中NAME和COMMENT的互相转换,需要执行语句
阅读量:6094 次
发布时间:2019-06-20

本文共 2541 字,大约阅读时间需要 8 分钟。

原文:
http://www.cnblogs.com/netsql/archive/2010/05/24/1742734.html

 

 

使用说明: 在【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 

 

 

本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/archive/2013/04/26/3044828.html,如需转载请自行联系原作者

你可能感兴趣的文章
firewall
查看>>
MVC,SSM与三层架构的构成及相互关系
查看>>
集体智慧常用的算法有哪些,了解这些算法的含义
查看>>
java设计模式之单例模式
查看>>
地震频发
查看>>
有状态服务和没状态服务和keepalive
查看>>
lvs fullnat+ECMP【8】session同步模型讨论
查看>>
MVC中的三个模块
查看>>
第三方登录之QQ登录(二)——OAuth2.0处理流程介绍(以QQ登录为例)
查看>>
利用反射访问私有方法,私有属性
查看>>
回文数
查看>>
JSON格式转换,String,Array,List,Map
查看>>
不用制作启动盘安装Windows操作系统的最简单办法
查看>>
centos 5.6 linux安装系统后的基本优化
查看>>
我的友情链接
查看>>
zabbix 3.0 脚本调用
查看>>
解决“eth0设备的MAC 址与预想的不符,忽略” 追加
查看>>
第11章 表单
查看>>
售前工程师的成长---一个老员工的经验之谈
查看>>
Get到的优秀博客网址
查看>>