Foxtable(狐表)用户栏目专家坐堂 → 关于 -Idnetify 与唯一编号的疑问


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

主题:关于 -Idnetify 与唯一编号的疑问

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
关于 -Idnetify 与唯一编号的疑问  发帖心情 Post By:2010/8/6 11:08:00 [只看该作者]

不重复编号,在局域网共同操作数据时很重要。

今天我和同事测试了一下,关于同时增加行时,ldnetify的编号是否会重复。

 

二位同事在操作表格之前,IDNETIFY编号已经到达13了

同事A:先增加三行。此时IDNETIFY编号显示为 14.15.16

同事B:也增加三行。此时IDNETIFY编号显示为 14.15.16

 

表中有一个 记录跟踪编号 列,代码如下

 

e.DataRow("记录跟踪编号") = Format(e.DataRow("录入日期"),"yyMMdd") &"-"&  Format(e.DataTable.Compute("Count(录入日期)", "[_identify] < 0" & e.DataRow("_Identify"))+1,"0000")

希望记录跟踪编号列的作用是 代表某一行,编号必需唯一。

 

如此,同事A所增加行时, 此时看到 记录跟踪编号 列中 内容

         100806-0014
         100806-0015
         100806-0016

 

        同事B所增加行时, 此时看到 记录跟踪编号 列中 内容 也是

         100806-0014
         100806-0015
         100806-0016


小弟不解,帮助说过,[_identify]是唯一的,照此理解,A同事增加三行的时候,[_identify]是13.14.15,,,那么B同进增加三行的时候,应该是16.17.18才对呀!为何他们都是14.15.16呢?小弟不解

 

 

有时,A,B同事保存时,会提示错误对话框

 

 
此主题相关图片如下:image001(08-06-10-51-01).png
按此在新窗口浏览图片

 

与同事们测试,又发现

A同事增加三行的时候,[_identify]是13.14.15,,,

B同事增加三行的时候,[_identify]是13.14.15,,,

 

A先保存,然后B再保存

此时 [_identify]发生变化

   A 同事所看到的,[_identify]是13.14.15

   B 同事所看到的,[_identify]是16.17.18,,,

 

那么如此看来,此代码 不能产生唯一的编号 了
e.DataRow("记录跟踪编号") = Format(e.DataRow("录入日期"),"yyMMdd") &"-"&  Format(e.DataTable.Compute("Count(录入日期)", "[_identify] < 0" & e.DataRow("_Identify"))+1,"0000")

 

 

求解,怎么样才能产生唯一的编号??????

 


[此贴子已经被作者于2010-8-6 11:09:03编辑过]

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


加好友 发短信
等级:狐精 帖子:3313 积分:23134 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/8/6 11:21:00 [只看该作者]

网络共享操作时,每增加一行,我是采用的SQL 语句来增加的,使用

 dim str as string = Format(date.now,"yyyy-MM-dd")

 cmd.commandtext = "select count(*) from {入库} where [制单日期] = '"& str &"'"
  dim str1 as string = cmd.ExecuteScalar()

  dim str4 as string

  if str1 > 0 then
     str4  = "IP" & Format(date.now,"yyyyMMdd") & Format(str1+1,"0000")

  else

     str4 = "IP" & Format(date.now,"yyyyMMdd") & "0001"

  end if
  cmd.CommandText = "Insert Into [入库] (入库单号,制单员,制单日期,制单时间,入库状态) Values('" & str4 & "','" & vars("用户") & "','" &  str5  &   "','" & str3 & "','单据录入')"
     cmd.ExecuteNonQuery()

之前也是有遇到楼主这种现象,现在就不会了。不知这样是否合理,但解决此问题。只提供楼主参考。

[此贴子已经被作者于2010-8-6 11:22:39编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/6 11:33:00 [只看该作者]

如果是外部数据源,肯定不会有楼主图片说的情况。

至于内部数据源,我测试也没有发现图片那种错误,不过我再看看。


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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2010/8/6 15:06:00 [只看该作者]

二位同事在操作表格之前,IDNETIFY编号已经到达13了

同事A:先增加三行。此时IDNETIFY编号显示为 14.15.16

同事B:也增加三行。此时IDNETIFY编号显示为 14.15.16

 

 

狐爸,有没有办法再增加行后,IDNETIFY 的数值自动变为唯一?

 

增加行----保存--然后在向大家显示新增加的空白行

 

 

把保存动作直接隐藏到狐表内部去。。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/6 15:07:00 [只看该作者]

你可以自己实现,做一个增加行的按钮,增加行的代码后面再加上保存的代码。

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2010/8/6 16:46:00 [只看该作者]

狐爸,我知道增加行后保存可以改变 _identify

 

看此代码:

录入日期 = Date.Today()

e.DataRow("记录跟踪编号") = Format(e.DataRow("录入日期"),"yyMMdd") &"-"&  Format(e.DataTable.Compute("Count(录入日期)", "[_identify] < 0" & e.DataRow("_Identify"))+1,"0000")

 

按照您的意思,按钮的代码是:先增加行,然后保存行  ,那么这是两个动作,A动作增加,B动作保存

A动作的时候,录入日期 与 _identify 都有数值,,那么执行上面的代码, 记录跟踪编号 的内容已经生成

 


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

问题是,跟踪编号还是不能保证唯一。。

 

虽然,增加行后马上保存行,能改变 _identify 的值,但是对于 上面的代码还是无效。。只要增加了行,就马上产生跟踪编号。。。

 

有什么简单的办法能让 跟踪编号 在共享文件的时候,也成为唯一编号?


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


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

帮助提供了一个例子,你可以看看,在SQL的应用实例部分。

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


加好友 发短信
等级:五尾狐 帖子:1181 积分:8108 威望:0 精华:1 注册:2009/1/17 10:52:00
  发帖心情 Post By:2010/8/6 19:09:00 [只看该作者]

谢谢狐爸

     学生自省。。。

     定要熟读帮助三遍。。。


 回到顶部