powerdesigner 修改字段类型

'Option Explicit On
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl ' the current model
' 取得当前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)
    '处理表
    Dim Tab,str1
    Dim tt  
    For Each Tab In folder.tables
        
            tt = Tab.code
         'if(not tt is nothing) then
            str1 = left(tt, 1)
            str1 = UCase(str1)
            Dim str2
            str2 = right(tt , len(tt) - 1)
            str2 = LCase(str2)
            Tab.code = str1 + str2

            '修改字段名
            Dim col
            For Each col In Tab.columns
                If (col.code <> "") Then
                    Dim code
                    code = col.code
                    Dim code1
                    code1 = left(code, 1)
                    code1 = UCase(code1)
                    Dim code2
                    code2 = right(code, len(code) - 1)
                    code2 = LCase(code2)
                    col.code = code1 + code2
                End If
                if(StrComp(col.code,"Id") = 0)then
                  col.datatype = "Long integer"
                end if
                
                  if(StrComp(col.datatype,"NUMBER") = 0)then
                  col.datatype = "Integer"
                end if
            Next
            ' End If
    Next
    ' 同理处理视图
    ' Dim view
    '   for each view in folder.Views
    '   if not view.isShortcut then
    ' view.code = 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值