以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自动编号的生成求助。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61287) |
||||
-- 作者:liujywwy -- 发布时间:2014/12/10 12:10:00 -- [求助]自动编号的生成求助。 临时版本跟踪表有需求编号,临时版本编号,客户,博达机型,状态列。 需求编号的格式是YYYYMM3位流水号。如201412111. 现在想做的是临时版本编号为MM3位需求编号的流水号_YYYY。如:12111_2014. 1.当新增行的客户和博达机型在数据库已经存在,且状态为Bound or Confirming or Nopass 时,临时版本编号等于之前已分配的最大编号。(认为12111_2014比12110_2014大) 2.当新增行的客户和博达机型在数据库已经存在,且状态为除这些Bound and Confirming and Confirmed and Nopass 之外的状态时,临时版本编号等于MM3位需求编号的流水号_YYYY 3.当新增行的客户和博达机型在数据库是首次出现,临时版本编号等于YY3位需求编号的流水号_YYYY 下面这段代码改怎么修改才能实现需求。 Dim d As Date = Date.Today max = e.DataTable.SQLCompute("Max(临时版本编号)","SubString(临时版本编号,0,2) = \'" & m & "\' And SubString(临时版本编号,5,5) = \'-" & y & "\'") e.DataRow.Save [此贴子已经被作者于2014-12-10 13:15:26编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2014/12/10 14:15:00 -- 上传例子。 |
||||
-- 作者:liujywwy -- 发布时间:2014/12/10 14:42:00 -- 以下是引用有点甜在2014-12-10 14:15:00的发言:
上传例子。
|
||||
-- 作者:liujywwy -- 发布时间:2014/12/10 15:20:00 -- 有点甜老师帮我看看呗,一直在等。呵呵。 |
||||
-- 作者:有点甜 -- 发布时间:2014/12/10 15:51:00 -- 你的逻辑上有问题,新增行的时候,你的 客户,博达机型,状态列 还没有填入,
怎么可能比较得出编号?你是想修改客户等信息的时候再生成编号? |
||||
-- 作者:有点甜 -- 发布时间:2014/12/10 15:58:00 -- 再有,你的1、2、3有什么区别?最后生成的时候,编号列,肯定是会重复的,这是你的初衷么 |
||||
-- 作者:有点甜 -- 发布时间:2014/12/10 16:00:00 -- 参考例子
http://www.foxtable.com/help/topics/2403.htm
|
||||
-- 作者:liujywwy -- 发布时间:2014/12/10 16:02:00 -- 以下是引用有点甜在2014-12-10 15:51:00的发言:
你的逻辑上有问题,新增行的时候,你的 客户,博达机型,状态列 还没有填入,
怎么可能比较得出编号?你是想修改客户等信息的时候再生成编号? 哦。这个事情我没说。 补上:还有另外一个表,需求主表,在需求主表勾选“审核通过”,会在临时版本跟踪表自动增加一行,新增行的客户,博达机型的值都会从需求明细表获取。 If r.DataRow.GetChildRows("临时版本跟踪表").Count = 0 Then
If e.DataCol.Name = "需求编号" Then [此贴子已经被作者于2014-12-10 16:19:01编辑过]
|
||||
-- 作者:liujywwy -- 发布时间:2014/12/10 16:13:00 -- 以下是引用有点甜在2014-12-10 15:58:00的发言:
再有,你的1、2、3有什么区别?最后生成的时候,编号列,肯定是会重复的,这是你的初衷么 当新增行的客户,博达机型和已有的数据库内的是同一个客户,同一博达机型,并且已有数据的最大临时版本编号的行的状态处于Bound或者Confirming时,那么新增行的临时版本编号同已有数据的最大编号。 当新增行的客户,博达机型在已有数据库内没有找到同一客户,同一机型,那么新增行的临时版本编号为MM3位流水号_YY,如需求编号为201412001,那么临时版本编号为12001_2014. 也不知道我说清楚了没。 |
||||
-- 作者:有点甜 -- 发布时间:2014/12/10 16:25:00 -- 那肯定会重复啊老兄
12001_2014、12002_2014 等等的值,会重复啊,编号就是去它标注唯一的功能啊 |