如果客户更改时间的话用IP+date+time+4位随机数也会重复的吧,只是概率很小而已。

解决方案 »

  1.   

    IP+date+time+客户名字缩写+N为随机数字
    还也重那也怪了!
      

  2.   

    用application.lock
    然后sql="select * from table * order by field desc"
    x=rs("field")+1
    就行.
      

  3.   

    现在征求10《-》36进制算法
    通过此算法,可以另29位数缩小到10位以下
    这样的话,就算看起来没意义也比Guid好
      

  4.   

    ip+time+rnd()不会有问题的
    客户修改时间一般只会修改年月日时分,难道秒也会修改吗?何况精确到毫秒级。出现修改的情况下修改对应的年月日时分,其他保持不动,应该不会出现重复现象。
    你需要处理的强度有多大?
      

  5.   

    IP+date+3位随机数
    PO20020329001
    IP+ID+date+3位随机数
    PO 0101 20020329 001
    订单+供应商+日期+顺序号
      

  6.   

    to carefulman
    "修改"不是你所认为的意思
    而是  这个唯一ID根据IP+时间生成
    时间是延续的就不会错
    如果计算机时间有变换就不是延续的
    就有可能重复,虽然精确到毫秒使这概率降低了很多处理的数据量在10万左右
      

  7.   

    to All:
    大家给出的方案和我考虑的大致一样
    但我认为仍不够理想IP+Date+Time+ms+Rnd的确几乎不重复了
    但是长度确实另我头疼不知道你们用过水晶报表没?关联的字段长度一定要短
      

  8.   

    mac+time(从1971至今微秒)+随机数(用cup时钟作种子)这样就没有重复了,直接用循环在同一台电脑上都不会重复,200微秒之内产生100个确认没有重复。我用c++代码。