首页 | 新闻中心| 公司介绍| 产品走廊| 渠道与销售| 技术支持| 下载中心| 用户认证
蓝色快车PB俱乐部论坛--PowerDesigner回复发言
>>欢迎您,请先登陆 | 注册 | 发贴排行 | 搜索 | 帮助 | 退出
    蓝色快车PB俱乐部论坛
    PowerDesigner
       回复发言

  *为必填项目 常规论坛,只允许注册会员发言

用户名   *您没有注册?
密码   *忘记密码?请与管理员webmaster@besoft.com.cn联系
主题标题   不得超过 50 个汉字
当前心情
  • 将放在帖子的前面
  •                           
                              
    内容

    在此论坛中
  • HTML标签: 不可用
  • UBB标签: 允许
  • 帖图标签: 允许
  • Flash标签: 允许
  • 表情字符转换: 允许
  • 上传图片: 允许
  • 最多16KB

  • 粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字
    字体:      字体大小    颜色:
    点击表情图即可在帖子中加入相应的表情
     
    选项

    是否显示您的签名?
    有回复时使用邮件通知您?


     

    --  作者:随风
    --  发布时间:2006/12/19 9:50:32

    --  用Vbscript脚本辅助Power Designer模型设计
    用Vbscript脚本辅助Power Designer模型设计

    Power Designer是数据建模中一个比较常用的工具,比较擅长大规模的E-R模型的设计。
    对于一些批量*作,可以通过vbscript脚本进行。
    用法:打开物理模型,点击菜单“Tools->Execute Commands -> Edit/Run Script...",或者快捷键(Ctrl+Shift+X)。
    下面脚本是一个将模型中的表名、字段名均改成大写的一个简易脚本。在Power Designer 9.5中通过运行。
    vbscript,其实我不会用,所以我会选择一个比较复杂的例子,这个例子很简单。
    至于vbscript,可以去网上看看那些函数以及结构的用法,用起来也很简单。
    关于Power Designer中用到的一些固定属性或者实体,可以参照Power Designer的帮助,可以查到。 

    '*****************************************************************************
    '文件:powerdesigner.ucase.VBs
    '版本:1.0
    '功能:遍历物理模型中的所有表,将表名、表代码、字段名、字段代码全部由小写改成大写;
    ' 并将序列的名和代码由小写改成大写。
    '用法:打开物理模型,运行本脚本(Ctrl+Shift+X)
    '备注:
    '*****************************************************************************
    dim model 'current model
    set model = ActiveModel 

    If (model Is Nothing) Then
    MsgBox "There is no current Model"
    ElseIf Not model.IsKindOf(PdPDM.cls_Model) Then
    MsgBox "The current model is not an Physical Data model."
    Else
    ProcessTables model
    ProcessSequences model
    End If 

    '*****************************************************************************
    '函数:ProcessSequences
    '功能:递归遍历所有的序列
    '*****************************************************************************
    sub ProcessSequences(folder)
    '处理模型中的序列:小写改大写
    dim sequence
    for each sequence in folder.sequences
    sequence.name = UCase(sequence.name)
    sequence.code = UCase(sequence.code)
    next
    end sub 

    '*****************************************************************************
    '函数:ProcessTables
    '功能:递归遍历所有的表
    '*****************************************************************************
    sub ProcessTables(folder)
    '处理模型中的表
    dim table
    for each table in folder.tables
    if not table.IsShortCut then 
    ProcessTable table
    end if
    next
    '对子目录进行递归
    dim subFolder
    for each subFolder in folder.Packages
    ProcessTables subFolder
    next 
    end sub 

    '*****************************************************************************
    '函数:ProcessTable
    '功能:遍历指定table的所有字段,将字段名由小写改成大写,
    ' 字段代码由小写改成大写
    ' 表名由小写改成大写 
    '*****************************************************************************
    sub ProcessTable(table)
    dim col
    for each col in table.Columns
    '将字段名由小写改成大写
    col.code = UCase(col.code)
    col.name = UCase(col.name)
    next 
    table.name = UCase(table.name)
    table.code = UCase(table.code)
    end sub


    ">