Foxtable(狐表)用户栏目专家坐堂 → [求助] 请教自动编号的问题


  共有4917人关注过本帖树形打印复制链接

主题:[求助] 请教自动编号的问题

帅哥哟,离线,有人找我吗?
ncefans
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
[求助] 请教自动编号的问题  发帖心情 Post By:2013/11/15 20:55:00 [只看该作者]

请教一下,自动编号的问题.
如图,订单号码的编码原则是 订单抬头 + 年月日(yyMMdd)+ 顺序号



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


现在的问题是顺序号的取得. 因为顺序号的增加是需要忽略不同订单抬头的,也就是说,只要是同一个订单日期,顺序号都需要累加.

用下面的表达式取得同一个订单日期的最大编号,是没办法实现的.

Dim tb1 As Table = Tables("采购订单")
max = tb1.Compute("Max(订单号码)","订单日期 = #" & tb1.current("订单日期") & "# And [_Identify] <> " & tb1.current("_Identify")) 

请问有什么办法? 谢谢!

增加一个不带订单抬头的编号辅助列,可以解决这个问题...但是不想增加辅助列. 有办法吗?
[此贴子已经被作者于2013-11-15 21:11:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/11/15 21:04:00 [只看该作者]

 改一下

max = Compute("Max(订单号码)","订单抬头 = ‘" & e.datarow("订单抬头") & "’ and 订单日期 = #" & e.datarow("订单日期") & "# And [_Identify] <> " & e.datarow("_Identify")

 回到顶部
帅哥哟,离线,有人找我吗?
ncefans
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/11/15 21:15:00 [只看该作者]

 不添加附加列的话,只有两种方法了:

 1、循环同一日期所有行,截取字符串,比较;

 2、得到同日期最大的_Identify,然后取出那一行的的订单编号。(不太准确)

 没有简便的方法
[此贴子已经被作者于2013-11-15 21:24:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ncefans
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
  发帖心情 Post By:2013/11/15 21:22:00 [只看该作者]

先需要提取订单号码的后8位,再计算最大值. 如何和substring 结合计算呢? 

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/11/15 21:25:00 [只看该作者]

 最大值需要比较得出,没有简便的方法,看4楼。

 回到顶部
帅哥哟,离线,有人找我吗?
ncefans
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:94 积分:800 威望:0 精华:0 注册:2013/2/11 18:26:00
  发帖心情 Post By:2013/11/15 21:33:00 [只看该作者]

以下是引用有点甜在2013-11-15 21:25:00的发言:
 最大值需要比较得出,没有简便的方法,看4楼。
用循环遍历的方式是可以,但是太没有效率, 这样的话,还不如添加辅助列了. 谢谢了,如果没有更好的方法,只能加辅助列了.


 回到顶部