以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  想实现以下SQL视图效果在FOXTABLE中该如何实现  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16607)

--  作者:pb_1
--  发布时间:2012/2/18 21:47:00
--  想实现以下SQL视图效果在FOXTABLE中该如何实现


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

有这样一张主表,表中的值都是代码。另外有两张代码表,表中存储的是代码所对应的值

图片点击可在新窗口打开查看此主题相关图片如下:未命名1.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看

我希望在主表中存储的任然是代码,但是看到的却是代码所对应的值

 

比如主表中性别一列存储的数据为1,但是显示的文本却为“男”,我在SQL中知道用视图可以实现,在FOXTABLE中不知道如何操作,

[此贴子已经被作者于2012-2-18 21:50:27编辑过]

--  作者:西瓜住持
--  发布时间:2012/2/18 21:54:00
--  

单列数据字典

数据字典一般都是通过列属性直接设置的,很少需要通过代码设置,所以一般用户可以忽略本节的内容。
Col有一个DataMap属性,可以通过该属性设置数据字典。
有三种类型的数据字典(DataMap),分别是单列、多列和数据表型,我们首先介绍单列数据字典。

假定有一产品编号列,不同的编号代表不同的产品,分别是:

1: 苹果
2:香蕉
3:菠萝
4、桔子
5、桃子

我们希望该列存储整数型的产品编号,但是显示的是该编号代表的产品名称,设置代码如下:

Dim dmp As New DataMap
dmp.Add(1,"苹果")
dmp.Add(2,"香蕉")
dmp.Add(3,"波罗")
dmp.Add(4,"桔子")
dmp.Add(5,"桃子")
Tables
("订单").Cols("产品编号").DataMap = dmp

在命令窗口输入上述代码后执行,然后选择产品编号列,可以看到一个下拉列表框,列出了上述产品供我们选择。

DataMap类简单,就一个Add方法,语法为:

Add(Value,Text)

Value:值。
ImageFile: 值的字符说明。

为了验证产品编号列虽然显示的是产品名称,但是存储的内容是产品编号,我们可以增加一个表达式列,将其表达式设为:[产品编号]
结果会告诉你,产品编号列的值和显示内容确实是不同的。

数据字典键值的类型必须和列的类型一致,如果产品编号列不是整数型,而是字符型,那么原来的代码必须改为:

Dim dmp As New DataMap
dmp.Add(
"1","苹果")
dmp.Add(
"2","香蕉")
dmp.Add(
"3","波罗")
dmp.Add(
"4","桔子")
dmp.Add(
"5","桃子")
Tables
("订单").Cols("产品编号"
).DataMap = dmp

你还可以使用更复杂的字符作为键值:

Dim dmp As New DataMap
dmp
.Add("Apple","苹果")
dmp
.Add("Banana","香蕉")
dmp
.Add("Pineapple","波罗")
dmp
.Add("Orange","桔子")
Tables
("订单").Cols("产品编号").DataMap = dmp


--  作者:西瓜住持
--  发布时间:2012/2/18 21:59:00
--  

发错了,

在主表列中选中需要设置的列,更改列属性,打开,设置 列属性 基本属性 字典 ,选择数据表,这时候会出现 数据字典的TAB页,自己点进去看吧。傻瓜式设置


--  作者:西瓜住持
--  发布时间:2012/2/18 22:00:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:question1.jpg
图片点击可在新窗口打开查看

--  作者:pb_1
--  发布时间:2012/2/18 22:02:00
--  
谢谢西瓜哥哥!我刚好也查到了通过数据字典的方法来解决,早点休息,注意身体