以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- [求助]如何缩短Ukey()自动生成的编号? (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=16758) |
-- 作者:hayz -- 发布时间:2009/3/28 18:02:00 -- [求助]如何缩短Ukey()自动生成的编号? 我用UKey()自动生成一个编号,例如0QM2SMGCMBUX483,但是位数太多了,很难记住,我想只保留前6位或后6位数,不知道公式该怎样写? 如果还要在编号上加多个当天日期在前面呢?例如要实现下面的样式: 090328-0QM2SM 我试过用formAT公式但不知怎样写,希望帮忙看看。谢谢 |
-- 作者:程兴刚 -- 发布时间:2009/3/28 18:16:00 -- 既然减少位数,就不要用UKey,因为减少位数后,重复几率大大提高,这样用就没有意义了,完全可以用其他办法解决! |
-- 作者:Czy -- 发布时间:2009/3/28 18:20:00 -- Format(today(),"yymmdd")+"-"+Left(text(UKey()),6) |
-- 作者:hayz -- 发布时间:2009/3/28 18:29:00 -- 因为每天只会随机产生1~200张单,所以其实保留4位都很少有机会重复。加上日期参数后到了下一天又等于是重新再计算过,所以理论上重复机率是很低的。 谢谢两位版主的帮忙,czy的公式非常合用。 之前总是想着用format完成,没想到原来应该用left。看来我学习易表还要继续努力啊。 |
-- 作者:yangming -- 发布时间:2009/3/28 18:47:00 -- 那一开始就没有必要用UKey()生成编号了,一开始就用日期加相应的字符生成编号不好吗? |
-- 作者:程兴刚 -- 发布时间:2009/3/28 18:52:00 -- 下面引用由yangming在 2009/03/28 06:47pm 发表的内容: 那一开始就没有必要用UKey()生成编号了,一开始就用日期加相应的字符生成编号不好吗?
|
-- 作者:hayz -- 发布时间:2009/3/29 8:21:00 -- 如果是单机用户的话此公式是最好的,但我用在局域网多用户就不同情况了. 一起保存后就会有重号出现,所以我觉得还是原来的思路比较合用. 不好意思,主要是我没写清问题,下次改正.^_^ |