不重复编号,在局域网共同操作数据时很重要。
今天我和同事测试了一下,关于同时增加行时,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编辑过]