以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于表中某列关联值的显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80999)

--  作者:zhsenchzhi
--  发布时间:2016/2/16 10:05:00
--  关于表中某列关联值的显示
假设有两张表 
1  部门表, 有两列  部门主键(_Identify),部门名称
2  人员表, 有三列:人员主键(_Identify),人员姓名, 部门主键(_Identify), 其中部门主键(_Identify) 是关联到 部门表的

出于效率的考虑,不给他们建立 关联关系, 在人员表中也不 建立  部门名称  这一列,

但是我在显示人员表时, 不可能直接显示 部门主键(_Identify), 这样大家看不懂,而是显示 部门名称,如下所示:

人员姓名, 所在部门  (  数据库中实际存储的是  部门主键(_Identify),但是显示部门名称)

张三          市场部
李四           研发部

请问如果实现以上效果, 最简单的方法是什么?

--  作者:大红袍
--  发布时间:2016/2/16 10:13:00
--  

可以用数据字典,参考

 

http://www.foxtable.com/help/topics/0062.htm

 


--  作者:zhsenchzhi
--  发布时间:2016/2/16 10:25:00
--  
以下是引用大红袍在2016/2/16 10:13:00的发言:

可以用数据字典,参考

 

http://www.foxtable.com/help/topics/0062.htm

 

多谢,我试了,我想用  部门表的 _Identify  作为取值列,但是  _Identify 不能选择,请问 该怎么办呢?


--  作者:大红袍
--  发布时间:2016/2/16 10:44:00
--  

那你在AfterOpenProject写代码设置一下

 

Dim dmp As New TableDataMap
dmp.DataTable = "表B" \'指定数据来源表
dmp.ValueCol = "_Identify" \'指定取值列
dmp.DisplayCol = "第一列" \'指定显示列
\'指定下拉列表时显示哪些列的数据
dmp.ListCols = "第二列,第三列"
dmp.Sort = "_Identify" \'指定排序方式
Tables("表A").Cols("第三列").DataMap = dmp.CreateDataMap() \'生成并设置DataMap


 

http://www.foxtable.com/help/topics/2653.htm

 

[此贴子已经被作者于2016/2/16 10:44:14编辑过]