以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  新增一行,按照【年月日当前时间】自动增加“市场单号”,帮忙修改代码,谢谢!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46608)

--  作者:小刚
--  发布时间:2014/2/26 10:55:00
--  新增一行,按照【年月日当前时间】自动增加“市场单号”,帮忙修改代码,谢谢!
新增一行,按照【年月日当前时间】自动增加“市场单号”编号,帮忙修改代码,谢谢!
意思就是 编码前面是:年月日时分秒后面跟一个个位数1-9.当同一秒同时下了两个或以上订单时,后面的个位就自动加1,当这一秒就下了一个订单,后面位数就是1.


Dim r As Row =Tables("市场").Current
Dim max As String
max = DataTables("市场").Compute("Max(市场单号)","下单日期 = #" & Date.Today  & "#")
If max = "" Then
    max=Format(Date.Now,"yyMMddhhmmss") & “-” & "1"
Else
    max = Format(Date.Now,"yyMMddhhmmss") & “-” & CStr(Val(Right(max,1)) + 1)                 \'\'\'.PadLeft(1,"0")
End If
r("市场单号") =max

---------------------------------------------------
想要的效果:
不在同一秒点击出现的应该是:如:140226030122-1  ,140226030236-,... ...    最后一个数字一定是1,就是说,在这一秒,这是新增的第1个订单
在同一秒点击出现的应该是:   如:140226030122-1  ,140226030122-,... ...    就是说在这一秒,这是新增的第1个/第2个订单...

--  作者:Bin
--  发布时间:2014/2/26 10:59:00
--  
http://www.foxtable.com/help/topics/1994.htm  和原来的没区别,只是把 date.today 改为date.now 
--  作者:小刚
--  发布时间:2014/2/26 12:21:00
--  
你没仔细看啊,老大,我已经改了的.
但是得出来的编号的最后以为数字,是1、2、3、4、5、6、7、8、9、10、1、2、3...
这个数字不是同一秒内的增加,不同的秒,它也在增加,那就不对啊。

--  作者:小刚
--  发布时间:2014/2/26 13:44:00
--  
我上面的代码点新增后,执行结果如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140226163823.jpg
图片点击可在新窗口打开查看
后面的个位数不是以秒为增加,而是不停的0-10循环增加,搞不懂,也还有重复的.

\'--------------------------------------------------------------
,"下单日期 = #" & Date.Today  & "#")  改成  Date.Now 后,执行如下:

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

有重复的值出现


--  作者:小刚
--  发布时间:2014/2/26 14:06:00
--  
知道了
[此贴子已经被作者于2014-2-26 14:08:13编辑过]

--  作者:Bin
--  发布时间:2014/2/26 14:12:00
--  
上例子我看一下

24小时可以FORMAT一下  yyyy-MM-dd HH:mm:ss

--  作者:lsy
--  发布时间:2014/2/26 14:31:00
--  

DataRowAdded

DataTables("订单表").AddNew(30)测试:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:精确到秒自动编号.table

[此贴子已经被作者于2014-2-26 14:43:08编辑过]

--  作者:小刚
--  发布时间:2014/2/26 14:33:00
--  
你给看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:唯一市场单号.rar


--  作者:Bin
--  发布时间:2014/2/26 14:38:00
--  
看看7楼是否你想要的.
--  作者:小刚
--  发布时间:2014/2/26 15:00:00
--  
是的是的 图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看  就是把
Compute("Max(市场单号)","下单日期 = #" & Date.Today  & "#")
改成
Compute("Max(市场单号)","市场单号 Like \'" & Format(Date.Now,"yyMMddhhmmss") & "%\'")
了 !!!
我研究了一天半了,都想不出来.谢谢LSY老大了!
\'------------------------------------------------

另外,帮助里面的[网络环境下的复杂编号]是有问题的.
错误出现情况:当连续增加几个编号后,都不保存.这是随意点任何一个去保存,就出错了.
现实中,会连续下几个订单,不见得每个下完就保存的,可能下几个才开始保存,这是实际存在的情况.
但是会出错.
新增一个,保存一个就没有问题.
上传例子给老师们研究了.

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

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140226175332.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动编号.rar