在用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
150

被折叠的 条评论
为什么被折叠?



