Foxtable(狐表)用户栏目专家坐堂 → [求助] 不懂就问:表达式列不能作关联列?


  共有55763人关注过本帖树形打印复制链接

主题:[求助] 不懂就问:表达式列不能作关联列?

帅哥哟,离线,有人找我吗?
xipies
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1172 威望:0 精华:0 注册:2008/8/31 20:56:00
[求助] 不懂就问:表达式列不能作关联列?  发帖心情 Post By:2008/9/1 17:43:00 [只看该作者]

我的业务系统里的业务编号是需要自动累加生成的,如00001,00002等,必须用到表达式列,但表达式列又不能作为关联列和其他表相关联,(例如和业务明细表的业务编号列关联),怎样解决?

 回到顶部
帅哥哟,离线,有人找我吗?
nidecan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:31 积分:468 威望:0 精华:0 注册:2008/9/1 9:56:00
  发帖心情 Post By:2008/9/1 17:45:00 [只看该作者]

我也遇到类似问题

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/1 17:47:00 [只看该作者]

自动编号与关联

前面已经提到,由于自动编号列_Identify的存在,我们可以删除原来的产品编号、客户编号、订单编号等列,新增一个同名的表达式列,表达式设为:

[_Identify]

现在有一个问题,在我们的示例文件中,产品表通过产品编号和订单表建立关联、客户表通过客户编号列和订单表建立关联,但是现在的产品编号、客户编号是表达式列,而表达式列是不能作为关联列使用的,那怎么办呢?

很简单,直接用_Identify列代替产品编号、客户编号列,作为产品表和客户表的关联列使用。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/1 17:49:00 [只看该作者]

不重复编号的生成

也许你已经留意到,在表达式生成器中,有一个在表中并未出现的列名:_Identify

_Identify是实实在在存在的列,只是你看不到而已;新增记录的时候,该列的值会自动增量,步长为1,但是该值是临时的,保存的时候,才会生成真正的值。

即使多人同时增加和保存数据的时候,该列的值也是不重复的,这个列类似于Access/Sql Server的自动增量主键,不同的是,多人同时保存的时候,在FoxTable中,每个人的得到的编号是连续的,而Access/Sql Server是分散的。

有了_Identify,你可以删除原来的产品编号、客户编号、订单编号等列,新增一个同名的表达式列,表达式设为:

[_Identify]

这样不仅编号可以生成,而且不管有多少人同时向表中增加行,生成的编号都是连续的,而且是不重复的。

副作用是,你永远无法修改编号列的内容,不过从数据安全角度来看,也许这样更好!

提示:只有内部数据表才有_Identify列。


 回到顶部
帅哥哟,离线,有人找我吗?
xipies
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1172 威望:0 精华:0 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/1 17:49:00 [只看该作者]

呵呵,这个没有仔细看,但是感觉要花点时间琢磨琢磨才行,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/1 17:50:00 [只看该作者]

自动编号不再是难题,系统已经自动处理了。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/1 17:51:00 [只看该作者]

建议循序渐进看帮助,不要跳着来。

 回到顶部
帅哥哟,离线,有人找我吗?
xipies
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1172 威望:0 精华:0 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/1 18:00:00 [只看该作者]

以下是引用狐狸爸爸在2008-9-1 17:51:00的发言:
建议循序渐进看帮助,不要跳着来。


谢谢谢谢,主要是有点激动有点急,想马上把自己需要的各种功能过一遍


 回到顶部
帅哥哟,离线,有人找我吗?
xipies
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:161 积分:1172 威望:0 精华:0 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/1 18:44:00 [只看该作者]

这个还是有点问题,用[_Identify]列作为业务编号来关联,他只能生成1,2,3等格式的序列数,但我一般常用的业务编号格式为两种,第一种:10位数的顺序序列,如0000000001,0000000002,0000000893等,第二种是以日期为单位每日从1开始递增,如2008年8月30日有3笔业务,则编号为20080830-0001,20080830-0002,20080830-0003,而到31号时又从1开始,如20080831-0001,20080831-0002等,这样又如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/1 19:03:00 [只看该作者]

这个你要继续看帮助,用计算代码。

 回到顶部
总数 12 1 2 下一页