欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

powerdesigner 修改字段类型

程序员文章站 2022-07-13 09:09:37
...
'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