转自:http://blog.csdn.net/tegwy/article/details/7819319
PowerDesigner在操作上有很多的不便性,但在库的设计及SQL代码生成上还是很强大的。
由于自己写的代码生成器能够根据comment生成相关字段注释,所以,commnet还是非常重要的。以前是通过手动一条条的从Name得到到comment中去,字段比较少倒是没什么感觉,这次项目很多表都是在一百多个字段以上,所以,有点吃力。于是,在网上找了点资料,然后自己稍微加工了下,脚本如下:
- Option Explicit
- ValidationMode = True
- InteractiveMode = im_Batch
-
- Dim mdl
-
-
- 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
- for each Tab in folder.tables
- if not tab.isShortcut then
-
- Dim col
- for each col in tab.columns
- If (col.comment="") Then
- col.comment= col.name
- end if
- next
- end if
- next
-
- Dim view
- for each view in folder.Views
- if not view.isShortcut then
- view.comment = view.name
- end if
- next
-
-
- Dim f
- For Each f In folder.Packages
- if not f.IsShortcut then
- ProcessFolder f
- end if
- Next
- end sub
这段代码也是从网上找的。主要是加了个如果comment的为空的情况下则从name复制,否则将不处理。
PowerDesigner里的脚本是VB写的。所以,如果对VB了解的话,还是可以编写很多东西的。
代码的使用,如下图:
在这里需要注意下,运行脚本时要先在PowerDesigner选中需要处理的PDM。