Foxtable(狐表)用户栏目专家坐堂 → 急询: _Identify不重复编号的问题


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

主题:急询: _Identify不重复编号的问题

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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
急询: _Identify不重复编号的问题  发帖心情 Post By:2009/6/4 11:41:00 [显示全部帖子]

为了编号唯一,我在tables("业务录入.费用管理")新增行 的
费用管理表的DataRowAdding中设置了如下公式

Dim dr As DataRow = e.DataRow
dr("大小") = dr("_Identify")

但发现一个问题,请看外部数具库图片:


此主题相关图片如下:片段_4.jpg
按此在新窗口浏览图片
大小中1536及1537都有三个,为何.

为何又有不少重复的编号呢,为何不 大小列不是与外部数具的_identify相同呢.
公式是不是设错地方了,还是其它问题,
另,我刚也新增了几行,但编号也变了,如下图:


此主题相关图片如下:片段_5.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2009-6-4 12:01:46编辑过]

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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/4 11:49:00 [显示全部帖子]

麻烦大了,好多呀,我如何做才能让 大小 列与外部数具的 _identify 列相同呀.
各位大哥大姐,帮想想办法

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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/4 11:52:00 [显示全部帖子]

刚哥,这个我知,我的工作号就是按这个做的,但我不想做这样复杂化,因 _identify 本来就是唯一的,不存在重复.

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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/4 11:53:00 [显示全部帖子]

以下是引用mr725在2009-6-4 11:47:00的发言:
还没试过用 _identify ,照理不会的呀~ , 帮你顶········

可能 大小列 要用表达式列吧~ 
[此贴子已经被作者于2009-6-4 11:47:38编辑过]

表达式是不会存入外部数具的,所以不能用表达式


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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/4 12:10:00 [显示全部帖子]

以下是引用梦倩在2009-6-4 12:03:00的发言:
多余,_identify本来就是表中的一列,再来同样的一列干什么?

举个列子,
费用管理表是录入基本数具的,
销帐表是用来收付款录入的.
销帐明细表也是提取费用管理表中同客户没收款的记录,是用来计算,(收付款因涉及到多币种转换,汇率调整,收付款币种众多因素)
销帐金额与币种与编号都要填入费用管理中.
哪我只能在入帐时利用唯一编号了,否则会出错(也就是对比条件)

哈,一下子说不清,不是简单的记录统计.


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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/4 12:18:00 [显示全部帖子]

以下是引用yangming在2009-6-4 12:08:00的发言:
_identify ,对外部表不起作用,只是对于内部表而言,外部表本生就有ID自动增量列

我似乎明白了一个道理,我来试试. 大小列是有点多余.


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


加好友 发短信
等级:三尾狐 帖子:719 积分:5181 威望:0 精华:1 注册:2008/9/24 10:41:00
  发帖心情 Post By:2009/6/4 15:07:00 [显示全部帖子]

以下是引用blackzhu在2009-6-4 14:37:00的发言:

  在ataRowAdding中应该是这样设置的:

 Dim xh As Double = e.DataTable.Compute("Max(xh)")
e.DataRow("xh") = xh + 1

xh是列名

   还有在外部表中设置"_identify"列,是为了在系统中新增行用的.如内部表加入表达式列,再加上"_identify"表达式,新增行出来的序号是不重复的.但是表达式列是不保存和不参与计算的.

感谢提供,现决定不用此列了,直接调用外部数具中的_identiry, 大小列是多余的.


 回到顶部