以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 请教自动编号的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42582) |
-- 作者:ncefans -- 发布时间:2013/11/15 20:55:00 -- [求助] 请教自动编号的问题 请教一下,自动编号的问题. 如图,订单号码的编码原则是 订单抬头 + 年月日(yyMMdd)+ 顺序号 现在的问题是顺序号的取得. 因为顺序号的增加是需要忽略不同订单抬头的,也就是说,只要是同一个订单日期,顺序号都需要累加. 用下面的表达式取得同一个订单日期的最大编号,是没办法实现的. Dim tb1 As Table = Tables("采购订单") max = tb1.Compute("Max(订单号码)","订单日期 = #" & tb1.current("订单日期") & "# And [_Identify] <> " & tb1.current("_Identify")) 请问有什么办法? 谢谢! 增加一个不带订单抬头的编号辅助列,可以解决这个问题...但是不想增加辅助列. 有办法吗?
[此贴子已经被作者于2013-11-15 21:11:23编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/11/15 21:04:00 -- 改一下 max = Compute("Max(订单号码)","订单抬头 = ‘" & e.datarow("订单抬头") & "’ and 订单日期 = #" & e.datarow("订单日期") & "# And [_Identify] <> " & e.datarow("_Identify"))
|
-- 作者:ncefans -- 发布时间:2013/11/15 21:06:00 -- 以下是引用有点甜在2013-11-15 21:04:00的发言:
改一下 max = Compute("Max(订单号码)","订单抬头 = ‘" & e.datarow("订单抬头") & "’ and 订单日期 = #" & e.datarow("订单日期") & "# And [_Identify] <> " & e.datarow("_Identify"))
[此贴子已经被作者于2013-11-15 21:07:04编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/11/15 21:15:00 -- 不添加附加列的话,只有两种方法了: 1、循环同一日期所有行,截取字符串,比较; 2、得到同日期最大的_Identify,然后取出那一行的的订单编号。(不太准确) 没有简便的方法。
[此贴子已经被作者于2013-11-15 21:24:00编辑过]
|
-- 作者:ncefans -- 发布时间:2013/11/15 21:22:00 -- 先需要提取订单号码的后8位,再计算最大值. 如何和substring 结合计算呢? |
-- 作者:有点甜 -- 发布时间:2013/11/15 21:25:00 -- 最大值需要比较得出,没有简便的方法,看4楼。 |
-- 作者:ncefans -- 发布时间:2013/11/15 21:33:00 -- 以下是引用有点甜在2013-11-15 21:25:00的发言: 最大值需要比较得出,没有简便的方法,看4楼。 用循环遍历的方式是可以,但是太没有效率, 这样的话,还不如添加辅助列了. 谢谢了,如果没有更好的方法,只能加辅助列了.
|