• PowerDesigner中翻转生成PDM图时把Name属性变成注释(转)


    在pd里面运行下面这段代码
    '******************************************************************************
    '* 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
    '* 执行方法: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
    if tab.comment ="" then
    else
    tab.name=tab.name+"("+tab.comment+")"
    on error resume next
    end if
    Dim col ' running column
    for each col in tab.columns
    if col.comment="" then
    ' MsgBox "表"+tab.name+"列"+col.name +"没有comment"
    else
    col.name=col.name+"("+col.comment+")"
    on error resume next
    end if
    next
    end if
    next
    Dim view 'running view
    for each view in folder.Views
    if not view.isShortcut then
    if view.comment="" then
    MsgBox "视图"+view.name +"没有comment"
    else
    view.name=view.name+"("+view.comment+")"
    on error resume next
    end if
    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

  • 相关阅读:
    Mac 下VirtualBox与Linux共享文件
    安装LAMP 环境Linux 16.04 + Apache2 + Php7.0
    Python调用OpenCV读写视频
    [tensorflow] FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated
    VS Qt国际化操作
    OpenCV--基于直线检测的文本图像倾斜校正
    Python调用OpenCV形态学
    Keras设置后端数据维度顺序
    Python调用OpenCV代码优化
    Python调用OpenCV滤波
  • 原文地址:https://www.cnblogs.com/zhangtao/p/3974983.html
Copyright © 2020-2023  润新知