如何让pd的name和code都显示出来?

canbo 2004-07-14 05:47:44
如何让pd的name和code在设计时都显示出来,
而不用进入表属性,然后才可以看到name和code?
...全文
729 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chump 2005-02-28
  • 打赏
  • 举报
回复
不可以啊
mengbo 2005-01-24
  • 打赏
  • 举报
回复
土方法一个:在缩写时Name里写:Code + Name不就出来了,不过就是麻烦一点罢了
给分吧
eman1 2004-11-01
  • 打赏
  • 举报
回复
不必写脚步,可以用PD自带的文档生成功能Report来生成需要的文档
可以使rtf或者htm格式的

选择菜单——【Model】→【Reports】,弹出报告列表窗口List of Reports,该窗口会以字母顺序列出当前模型的所有报告,如果还没有为当前模型创建报告,则除了New Report工具 以外,其他工具栏中的工具都为灰化
具体使用的方法自己研究一下,不难
qiandeng 2004-10-20
  • 打赏
  • 举报
回复
不需要写脚步,直接用报表生成一个你想要的格式就行啦
jonescheng 2004-10-20
  • 打赏
  • 举报
回复
这个方法好,不过写脚本好象有点难。。
kanke5 2004-10-20
  • 打赏
  • 举报
回复
写脚本'******************************************************************************

'
'* Title:
'* Version: 1.0
'* Company: Sybase Inc.
'******************************************************************************


Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

Dim mdl ' the current model

' get the current active model
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

' This routine copy name into code for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
dim ls_NameTemp
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
'tab.code = tab.name

if instr(Tab.name," ") > 0 then
ls_NameTemp = Mid(Tab.name,1,instr(Tab.name," ") - 1 )
else
if instr(Tab.name," ") > 0 then
ls_NameTemp = Mid(Tab.name,1,instr(Tab.name," ") - 1 )
else
ls_NameTemp = Tab.name
end if
end if


if len(ls_NameTemp) < 8 then
Tab.name = ls_NameTemp + Space( 8 - len(ls_NameTemp) ) + Tab.code
else
Tab.name = ls_NameTemp + Space( 2 ) + Tab.code
'考虑名称相同出现的异常
end if
On Error Resume Next


Dim col ' running column
for each col in tab.columns
'col.code= col.name

if instr(col.name," ") > 0 then
ls_NameTemp = Mid(col.name,1,instr(col.name," ") - 1 )
else
if instr(col.name," ") > 0 then
ls_NameTemp = Mid(col.name,1,instr(col.name," ") - 1 )
else
ls_NameTemp = col.name
end if
end if

if len(ls_NameTemp) < 6 then
'col.name = ls_NameTemp + Space( (8 - len(ls_NameTemp)) * 2 ) + col.code
col.name = ls_NameTemp + left( "          ",6 - len(ls_NameTemp) ) + col.code
else
'col.name = ls_NameTemp + Space(2) + col.code
col.name = ls_NameTemp + left( "          ",1) + col.code

'考虑名称相同出现的异常
end if
On Error Resume Next

next
end if
next

Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
'view.code = view.name

if instr(view.name," ") > 0 then
ls_NameTemp = Mid(view.name,1,instr(view.name," ") - 1 )
else
if instr(view.name," ") > 0 then
ls_NameTemp = Mid(view.name,1,instr(view.name," ") - 1 )
else
ls_NameTemp = view.name
end if
end if

if len(ls_NameTemp) < 8 then
view.name = ls_NameTemp + Space( 8 - len(ls_NameTemp) ) + view.code
else
view.name = ls_NameTemp + Space( 2 ) + view.code
'考虑名称相同出现的异常
end if
On Error Resume Next


end if
next

' go into the sub-packages
Dim f ' running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub




ada_chang 2004-10-16
  • 打赏
  • 举报
回复
另存,然后写个脚本,把code和name拼起来,虽然土点,用来打印还是可以的。
eman1 2004-10-15
  • 打赏
  • 举报
回复
不能同时显示的
fourfire29 2004-10-15
  • 打赏
  • 举报
回复
不行
caixiang78 2004-07-15
  • 打赏
  • 举报
回复
不能同时显示,只能显示name或者显示code
canbo 2004-07-15
  • 打赏
  • 举报
回复
为什么?
我已经写信到sybase去了,不知道会不会解决这个问题。
  • 打赏
  • 举报
回复
不可以

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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