`
xuela_net
  • 浏览: 496777 次
文章分类
社区版块
存档分类
最新评论

PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码

 
阅读更多

在用PowerDesigner时.常常在NAME或Comment中写中文在Code中写英文.Name只会显示给我们看,Code会使用在代码中.但Comment中的文字会保存到数据库TABLE的Description中,有时候我们写好了Name再写一次Comment很麻烦.以下两段代码就可以解决这个问题.
代码一:将Name中的字符COPY至Comment中

使用菜单:"Tools->Execute Commands->Edit/Run Scripts"来执行下面脚本



'******************************************************************************
'
*File:name2comment.vbs
'
*Purpose:Databasegenerationcannotuseobjectnamesanymore
'
inversion7andabove.
'
Italwaysusestheobjectcodes.
'

'
Incasetheobjectcodesarenotalignedwithyour
'
objectnamesinyourmodel,thisscriptwillcopy
'
theobjectNameontotheobjectCommentfor
'
theTablesandColumns.
'

'
*Title:
'
*Version:1.0
'
*Company:SybaseInc.
'
******************************************************************************


OptionExplicit
ValidationMode
=True
InteractiveMode
=im_Batch

Dimmdl'thecurrentmodel

'getthecurrentactivemodel
Setmdl=ActiveModel
If(mdlIsNothing)Then
MsgBox"ThereisnocurrentModel"
ElseIfNotmdl.IsKindOf(PdPDM.cls_Model)Then
MsgBox"ThecurrentmodelisnotanPhysicalDatamodel."
Else
ProcessFoldermdl
EndIf

'Thisroutinecopynameintocommentforeachtable,eachcolumnandeachview
'
ofthecurrentfolder
PrivatesubProcessFolder(folder)
DimTab'runningtable
foreachTabinfolder.tables
ifnottab.isShortcutthen
tab.comment
=tab.name
Dimcol'runningcolumn
foreachcolintab.columns
col.comment
=col.name
next
endif
next

Dimview'runningview
foreachviewinfolder.Views
ifnotview.isShortcutthen
view.comment
=view.name
endif
next

'gointothesub-packages
Dimf'runningfolder
ForEachfInfolder.Packages
ifnotf.IsShortcutthen
ProcessFolderf
endif
Next
endsub

代码二:将Comment中的字符COPY至Name中

OptionExplicit
ValidationMode
=True
InteractiveMode
=im_Batch

Dimmdl'thecurrentmodel

'getthecurrentactivemodel
Setmdl=ActiveModel
If(mdlIsNothing)Then
MsgBox"ThereisnocurrentModel"
ElseIfNotmdl.IsKindOf(PdPDM.cls_Model)Then
MsgBox"ThecurrentmodelisnotanPhysicalDatamodel."
Else
ProcessFoldermdl
EndIf

PrivatesubProcessFolder(folder)
OnErrorResumeNext
DimTab'runningtable
foreachTabinfolder.tables
ifnottab.isShortcutthen
tab.name
=tab.comment
Dimcol'runningcolumn
foreachcolintab.columns
ifcol.comment=""then
else
col.name
=col.comment
endif
next
endif
next

Dimview'runningview
foreachviewinfolder.Views
ifnotview.isShortcutthen
view.name
=view.comment
endif
next

'gointothesub-packages
Dimf'runningfolder
ForEachfInfolder.Packages
ifnotf.IsShortcutthen
ProcessFolderf
endif
Next
endsub
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics