zoukankan      html  css  js  c++  java
  • 【转】PowerDesigner表结构和字段大小写转换

    【转自】http://blog.csdn.net/xysh1991/article/details/8016192


    使用方法:进入PowerDesigner,打开一个PDM,在菜单栏找到:Tools – Excute Commands – Edit/Run Script,或者直接按Ctrl+Shift+X调出脚本执行窗口,输入下边的代码就可以了。

    下面提供段代码可以把PowerDesigner中的小写字母变为大写字母。 
    代码如下: 
    Option Explicit  
    ValidationMode = True  
    InteractiveMode = im_Batch  
    Dim mdl ' 当前模型  
    ' 获取当前模型  
    Set mdl = ActiveModel  
    If (mdl Is Nothing) Then  
       MsgBox "没有打开一个模型" 
    ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
       MsgBox "当前模型不是一个PDM" 
    Else  
    '调用处理程序  
       ProcessFolder mdl  
    End If    
    '调用的处理程序  
    Private sub ProcessFolder(folder)  
       Dim Tab '要处理的表  
       for each Tab in folder.Tables  
        ' if not Tab.isShortcut then  
            ' Tab.code = tab.name  
            '表名处理,前边添加前缀,字母小写  
            Tab.name=  UCase(Tab.name)  
            Tab.code= UCase(Tab.code)  
             Dim col ' 要处理的列  
             for each col in Tab.columns  
                '列名称和code全部小写,大写诗UCase  
                col.code= UCase(col.code)  
                col.name= UCase(col.name)  
             next  
          'end if 
       next    
    ' 处理视图  
    '  Dim view 'running view  
    '   for each view in folder.Views  
       '   if not view.isShortcut then  
           '  view.code = view.name  
        '  end if 
      ' next     
       ' 递归进入 sub-packages  
       Dim f ' sub  folder  
       For Each f In folder.Packages  
          if not f.IsShortcut then  
             ProcessFolder f  
          end if 
       Next  
    end sub 

    =================================================================================================
    下面提供段代码可以把PowerDesigner中的大写字母变为小写字母。 
    代码如下: 
    Option Explicit  
    ValidationMode = True  
    InteractiveMode = im_Batch  
    Dim mdl ' 当前模型  
    ' 获取当前模型  
    Set mdl = ActiveModel  
    If (mdl Is Nothing) Then  
       MsgBox "没有打开一个模型" 
    ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then  
       MsgBox "当前模型不是一个PDM" 
    Else  
    '调用处理程序  
       ProcessFolder mdl  
    End If    
    '调用的处理程序  
    Private sub ProcessFolder(folder)  
       Dim Tab '要处理的表  
       for each Tab in folder.Tables  
        ' if not Tab.isShortcut then  
            ' Tab.code = tab.name  
            '表名处理,前边添加前缀,字母小写  
            Tab.name=  LCase(Tab.name)  
            Tab.code= LCase(Tab.code)  
             Dim col ' 要处理的列  
             for each col in Tab.columns  
                '列名称和code全部小写,大写诗UCase  
                col.code= LCase(col.code)  
                col.name= LCase(col.name)  
             next  
          'end if 
       next    
    ' 处理视图  
    '  Dim view 'running view  
    '   for each view in folder.Views  
       '   if not view.isShortcut then  
           '  view.code = view.name  
        '  end if 
      ' next     
       ' 递归进入 sub-packages  
       Dim f ' sub  folder  
       For Each f In folder.Packages  
          if not f.IsShortcut then  
             ProcessFolder f  
          end if 
       Next  
    end sub 

    【代码可以就地执行】

  • 相关阅读:
    理解JavaScript Call()函数原理。
    数据结构水题大赛官方题解#3 XXX的stl
    数据结构水题大赛官方题解#2 XXX的脑白金
    数据结构水题大赛官方题解#1 XXX的面试
    P3390 矩阵快速幂
    2020.6.8 T1 棋子移动
    U68862 奶牛滑迷宫
    5月18日考试错误题目走迷宫
    最小生成树两种算法详解
    p1220关路灯(小优化)
  • 原文地址:https://www.cnblogs.com/zhzhang/p/3946609.html
Copyright © 2011-2022 走看看