PowerDesigner中name和comment互換

1 PowerDesigner中批量根据对象的name生成comment的脚本


执行方法:Open PDM -- Tools -- Execute Commands -- Run Script


Option  Explicit                           
ValidationMode =  True            
InteractiveMode = im_Batch   
                                                    
Dim mdl  ' the current model    
                                                    
' get the current active model  
Set mdl = ActiveModel            
If (mdl  Is  NothingThen           
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 code 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                                            
 


2 PowerDesigner中逆向工程将数据库中comment脚本赋值到PDM的name


执行方法:Open PDM -- Tools -- Execute Commands -- Run Script


Option  Explicit                                              
ValidationMode =  True                               
InteractiveMode = im_Batch                      
                                                                       
Dim mdl  ' the current model                       
                                                                       
' get the current active model                     
Set mdl = ActiveModel                               
If (mdl  Is  NothingThen                              
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 code 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  len(tab.comment) <> 0  then                                                                                                           
tab.name = tab.comment                                                                                               
end  if                                                                                                                              
On  Error  Resume  Next                                                                                                                
Dim col  ' running column                                                                                                   
for  each col in tab.columns                                                                                              
if  len(col.comment) <>0  then                                                                                                  
col.name =col.comment                                                                                                       
end  if                                                                                                        
On  Error  Resume  Next                                                                           
next                                                                                                                   
end  if                                                          
next                     
end sub 
相关文章
相关标签/搜索