'******************************************************************************   
   '*   File:               name2comment.vbs   
   '*   Purpose:      Database   generation   cannot   use   object   names   anymore      
   '                                    in   version   7   and   above.   
   '                                    It   always   uses   the   object   codes.   
   '   
   '                                    In   case   the   object   codes   are   not   aligned   with   your      
   '                                    object   names   in   your   model,   this   script   will   copy      
   '                                    the   object   Name   onto   the   object   comment   for      
   '                                    the   Tables   and   Columns.   
   '   
   '*   Title:            把对象name拷入comment属性中   
   '*   Version:      1.0   
   '*   Author:wangnc   
   '*   执行方法:PD11   --   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   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   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
问题点数:0、回复次数:4Top
Column   (发生意外。   
      (0x80020009))   
   At   line   43,   character   13   
      
   楼主试过没有?用的是什么版本?Top
本人新近在CSDN上开通了“数据库模型设计”博客,计划分120天进行数据库模型设计有关实战的连载,希望大家捧场。   
   地址是:http://blog.csdn.net/liu7537   
   做个广告,楼主和版主不会介意吧?Top
C:\Program Files\Sybase\PowerDesigner Trial 11\VB Scripts\name2code.vbsTop
2XKI&!H!TQ8:[:RK:!XIhttp://www.itwz.net谢谢LZ的脚本,解决了一个让我头疼的问题   :)   
   另:楼上的朋友,你说的那个脚本是把Name转化成Code的,和LZ的脚本作用完全不同。   
   而且通常我们在设计时,Name会用中文名。Code才是数据库中的真实字段名。
Tags(标签):Pow
天天网摘 Copyright(版权所有) © 天天网摘 2001~2009 本站文章来源于网络,如果有侵犯你的权宜的地方,请指出我们会即时更正。  |