以文本方式查看主题

-  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
--  [求助]网络编号公式


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

第一位固定“C”,第二、三位为年份,第四至八位是顺序号,从03000开始,当类别等于1时,最后一位是“C”,当类别等于2时,最后一位是“D”,

 

 


--  作者:sloyy
--  发布时间:2015/5/9 2:11:00
--  
你这个相当于2套编号,顺序号要取最后一位为C的最大值和最后一位为D的最大值,其他没什么好说的,按规则编号就行了.
--  作者:wusim
--  发布时间:2015/5/9 8:20:00
--  

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

编号不会自动更新

 


图片点击可在新窗口打开查看此主题相关图片如下: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”,

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


--  作者:Bin
--  发布时间:2015/5/9 16:17:00
--  
多增加一个列作为后缀,所有的条件都多加一个后缀作为条件

cmd1.commandText = "Select Count(*) F rom [编号] Where [前缀] = \'" & pf & "\' and [后缀] = \'" & ef &"\'"

dim ef as string 


e.
DataRow("编号") = pf & "-" & Format(Key,"0000") & ef
--  作者:wusim
--  发布时间:2015/5/9 17:16:00
--  


此主题相关图片如下:185.jpg
按此在新窗口浏览图片

 

当类别等于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