PowerDesigner VB脚本怎么对主键name、扩充字段操作?急。

JAVA码农2014 2017-08-23 09:32:52
现在手上有个需求,要大量的向PowerDesigner中新增table,table源数据在Excel中,所以准备采用VB脚本批量增加。但是主键的name无法修改,扩充字段也无法操作。。。求大神告知怎么处理,谢谢!(chinese comment是扩充字段,VB怎么操作它?)

一下是我写的VB脚本,请参考
--------------------------------------------------------------------------------------------

Option Explicit

Dim mdl ' the current model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no Active Model"
End If

Dim HaveExcel
Dim RQ
RQ = vbYes 'MsgBox("Is Excel Installed on your machine ?", vbYesNo + vbInformation, "Confirmation")
If RQ = vbYes Then
HaveExcel = True
' Open & Create Excel Document
Dim x1 '
Set x1 = CreateObject("Excel.Application")
x1.Workbooks.Open "D:\model\run\PADomainModel.xlsx" '指定excel文档路径
x1.Workbooks(1).Worksheets("Sheet1").Activate '指定要打开的sheet名称
Else
HaveExcel = False
End If

a x1, mdl
sub a(x1, mdl)
dim rwIndex
dim tableName
dim colname
dim table
dim col
dim count
on error Resume Next

For rwIndex = 2 To 1000 '指定要遍历的Excel行标 由于第1行是表头,从第2行开始
With x1.Workbooks(1).Worksheets("Sheet1")
If .Cells(rwIndex, 1).Value = "" Then '如果遍历到第一列为空,则退出
Exit For
End If
If .Cells(rwIndex, 3).Value = "" Then '如果遍历到第三列为空,则此行为表名
set table = mdl.Tables.CreateNew '创建表
table.Name = .Cells(rwIndex , 1).Value '指定表名,第一列的值
table.Code = .Cells(rwIndex , 1).Value
table.Comment = .Cells(rwIndex , 2).Value '指定表注释,第二列的值
table.Stereotype = .Cells(rwIndex , 4).Value '指定表的类型
count = count + 1
Else
set col = table.Columns.CreateNew '创建一列/字段
'MsgBox .Cells(rwIndex, 1).Value, vbOK + vbInformation, "列"
col.Name = .Cells(rwIndex, 1).Value '指定列名
'MsgBox col.Name, vbOK + vbInformation, "列"
col.Code = .Cells(rwIndex, 1).Value '指定列名
col.DataType = .Cells(rwIndex, 4).Value '指定列数据类型
'MsgBox col.DataType, vbOK + vbInformation, "列类型"
col.Comment = .Cells(rwIndex, 5).Value '指定列说明
if .Cells(rwIndex, 6).Value = "PK" Then '设置主键
col.Primary =true
End If
End If
End With
Next
MsgBox "生成数据表结构共计 " + CStr(count), vbOK + vbInformation, "表"

Exit Sub
End sub
...全文
896 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2017-08-24
  • 打赏
  • 举报
回复
这个用的比较少,建议你参考pd本身带的例子,自己研究研究,我以前写这些代码都是根据demo里的代码修改的
下载了一大堆的免费文档 我也贡献一个我自己写的PowerDesigner16 5的使用文档 这个是公司领导让我自己写来做使用指导用的 写的仓促 多有不恰当的地方 望大家见谅 1 这个是16 5的版本 2 这个是以oralce11g为模板 3 文档目录如下: PowerDesigner 16 5 指导 1 一 安装 3 二 新建模板步骤 这里以Oracle11g数据库为例 3 1 新建Model 3 2 Modle设置 3 3 模板设置 4 4 右侧工具条 5 5 新建测试包 6 6 表配置 6 6 1进入模板 6 6 2新建表 6 6 3修改表 7 6 4添加注释 7 6 5属性设置 8 6 5 1 8 6 5 2 9 6 5 3 9 6 5 4 9 6 6添加表关系 10 6 7表关系设置 10 6 8模板保存 12 6 9查看模板 12 三 模板导入脚本 12 1 打开Change Current DRMS 12 2 删除多余双引号 13 3 生成脚本 13 四 配置数据库 15 1 点击Database >Configure Connections 15 2 选择第三个系统数据根源 17 3 选择Oracle in OraDb11g hom1 选择下一步 然后点击完成 17 4 数据源配置 18 5 配置成功 19 五 反向工程生成模板 20 1 按照二 1和二 2生成一个空模板 20 2 选择Database >Update Model from Database 20 3 选择数据源 20 4 数据源配置 21 5 选择反向工程导出对象 22 6 可以看到反向工程自动生成的模板 即代表操作工程 23 六 生成HTML文档 24 1 点击Report >Generate Report 24 2 配置完成 点击确认即可 24 3 打开html文档 应该是下图格式 25">下载了一大堆的免费文档 我也贡献一个我自己写的PowerDesigner16 5的使用文档 这个是公司领导让我自己写来做使用指导用的 写的仓促 多有不恰当的地方 望大家见谅 1 这个是16 5的版本 2 这个是以oralce11g为模板 3 文档 [更多]

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧