以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]网络编号公式 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68077) |
||||
-- 作者:wusim -- 发布时间:2015/5/8 22:47:00 -- [求助]网络编号公式 第一位固定“C”,第二、三位为年份,第四至八位是顺序号,从03000开始,当类别等于1时,最后一位是“C”,当类别等于2时,最后一位是“D”,
|
||||
-- 作者:sloyy -- 发布时间:2015/5/9 2:11:00 -- 你这个相当于2套编号,顺序号要取最后一位为C的最大值和最后一位为D的最大值,其他没什么好说的,按规则编号就行了. |
||||
-- 作者:wusim -- 发布时间:2015/5/9 8:20:00 --
编号不会自动更新
此主题相关图片如下:181.jpg |
||||
-- 作者:wusim -- 发布时间:2015/5/9 8:21:00 -- 此主题相关图片如下:182.jpg |
||||
-- 作者:Bin -- 发布时间:2015/5/9 8:50:00 -- 你需要一个编号表 http://www.foxtable.com/help/topics/1994.htm 注意看帮助中这段话 本节的例子使用外部数据源,数据源文件为CaseStudy目录下的文件:编号.mdb
该文件只包括两个表,一个订单表,一个编号表。 希望订单表的编号能够自动生成,编号的格式为:0000-0000,左边四位为前缀,两位表示年,两位表示月,右边四位表示顺序号。 编号表并非常规的数据表,不加载到Foxtable中,而是直接通过SQL语句操作。 编号表包括两列,分别是:前缀和顺序号,前者为字符型,由两位年两位月组成,后者为整数型,用于保存此前缀的当前顺序号。 |
||||
-- 作者:wusim -- 发布时间:2015/5/9 16:14:00 -- 问题基本解决了大部分,请问最后一位要加一个判断,当类别等于1时,最后一位是“C”,当类别等于2时,最后一位是“D”,
|
||||
-- 作者:Bin -- 发布时间:2015/5/9 16:17:00 -- 多增加一个列作为后缀,所有的条件都多加一个后缀作为条件 cmd1.commandText = "Select Count(*) F rom [编号] Where [前缀] = \'" & pf & "\' and [后缀] = \'" & ef &"\'" dim ef as string |
||||
-- 作者:wusim -- 发布时间:2015/5/9 17:16:00 --
当类别等于1时,最后一位是“C”,当类别等于2时,最后一位是“D”,
是不是这样改 此主题相关图片如下:186.jpg [此贴子已经被作者于2015/5/9 17:23:59编辑过]
|
||||
-- 作者:wusim -- 发布时间:2015/5/10 8:11:00 -- 顶一下,不要沉 |
||||
-- 作者:大红袍 -- 发布时间:2015/5/10 9:12:00 -- 前面的sql语句都不用改.
Dim ef As String = "" If dr("类别") = 1 Then ef = "C" ElseIf dr("类别") = 2 Then ef = "D" EndIf
dr("编号") = “C" & pf & Format(key, "00000") & ef |