ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PowerDesigner中的name和comment互换

PowerDesigner中的name和comment互换

原创 Linux操作系统 作者:renjixinchina 时间:2012-06-13 17:54:50 0 删除 编辑

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

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


  1. Option Explicit  
  2. ValidationMode = True  
  3. InteractiveMode = im_Batch  
  4.   
  5. Dim mdl 'the current model  
  6.   
  7. 'get the current active model  
  8. Set mdl = ActiveModel  
  9. If (mdl Is Nothing) Then  
  10. MsgBox "There is no current Model"  
  11. ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
  12. MsgBox "The current model is not an Physical Data model."  
  13. Else  
  14. ProcessFolder mdl  
  15. End If  
  16.   
  17. 'This routine copy name into code for each table, each column and each view  
  18. 'of the current folder  
  19. Private sub ProcessFolder(folder)  
  20. Dim Tab 'running table  
  21. for each Tab in folder.tables  
  22. if not tab.isShortcut then  
  23. tab.comment = tab.name  
  24. Dim col 'running column  
  25. for each col in tab.columns  
  26. col.comment= col.name  
  27. next  
  28. end if  
  29. next  
  30.   
  31. Dim view 'running view  
  32. for each view in folder.Views  
  33. if not view.isShortcut then  
  34. view.comment = view.name  
  35. end if  
  36. next  
  37.   
  38. 'go into the sub-packages  
  39. Dim f 'running folder  
  40. For Each f In folder.Packages  
  41. if not f.IsShortcut then  
  42. ProcessFolder f  
  43. end if  
  44. Next  
  45. end sub

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

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


  1. Option Explicit  
  2. ValidationMode = True  
  3. InteractiveMode = im_Batch  
  4.   
  5. Dim mdl 'the current model  
  6.   
  7. 'get the current active model  
  8. Set mdl = ActiveModel  
  9. If (mdl Is Nothing) Then  
  10. MsgBox "There is no current Model"  
  11. ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
  12. MsgBox "The current model is not an Physical Data model."  
  13. Else  
  14. ProcessFolder mdl  
  15. End If  
  16.   
  17. 'This routine copy name into code for each table, each column and each view  
  18. 'of the current folder  
  19. Private sub ProcessFolder(folder)  
  20.   
  21. Dim Tab 'running table  
  22. for each Tab in folder.tables  
  23. if not tab.isShortcut then  
  24. if len(tab.comment) <> 0 then  
  25. tab.name = tab.comment  
  26. end if  
  27. On Error Resume Next  
  28. Dim col 'running column  
  29. for each col in tab.columns  
  30. if len(col.comment) <>0 then  
  31. col.name =col.comment  
  32. end if  
  33. On Error Resume Next  
  34. next  
  35. end if  
  36. next  
  37. end sub 

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

请登录后发表评论 登录
全部评论

注册时间:2011-01-30

  • 博文量
    373
  • 访问量
    2047161