以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创] 共享自用的流水号涵数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38565)

--  作者:guoweidong
--  发布时间:2013/8/1 11:18:00
--  [原创] 共享自用的流水号涵数

以下内容为程序代码:

1 Dim 今天 As Date = Date.Today
2 Dim 今天编码 As String=今天.Year & 今天.Month & 今天.Day
3 \'操作数据库
4 Dim cmd1 As New SQLCommand \'查询操作
5 Dim cmd2 As New SQLCommand \'添加或更新操作
6 Dim 编码 As String = Args(0)
7 Dim 分类 As String = Args(1)
8 Dim 计数 As Integer
9 cmd1.ConnectionName=Vars("数据源名称")
10 cmd2.ConnectionName=Vars("数据源名称")
11 cmd1.CommandText= "Select IsNull(Max([计数]),-1) From [SerialNumber] Where [编码] = \'" & 编码 & "\' And [分类] = \'" & 分类 & "\'And [日期] = \'" & 今天 &"\'"
12 If cmd1.ExecuteScalar > -1 Then \'当找不到当前数据时添加一条记录
13 cmd2.CommandText="Update [SerialNumber] Set [计数] = [计数] + 1 Where [编码] = \'" & 编码 & "\' And [分类] = \'" & 分类 & "\'And [日期] = \'" & 今天 &"\'"
14 cmd2.ExecuteNonQuery
15 计数 = cmd1.ExecuteScalar
16 Else
17 cmd2.CommandText="Insert Into [SerialNumber] ([编码],[日期],[计数],[分类],[_SortKey]) Values (\'" & 编码 & "\',\'" & 今天 & "\',1,\'" & 分类 & "\',(Select IsNull(Max(_SortKey),0)+1 From [SerialNumber]) )"
18 cmd2.ExecuteNonQuery
19 计数 = 1
20 End If
21 Dim 序号 As String = 计数
22 Return 编码 & 今天编码 & 序号.PadLeft(4,"0")
23

 

设置表格结构:

 

 

SerialNumber(流水号)

 

编码 ----> 字符型(16)

分类 ----> 字符型(16)

日期 ----> 日期型

计数 ----> 整数

备注 ----> 字符型(1073741823)

 

 


--  作者:Bin
--  发布时间:2013/8/1 11:19:00
--  
好东西,先顶后看. 谢谢分享!
--  作者:lsy
--  发布时间:2013/8/1 11:36:00
--  

奉天承运,皇帝诏曰:

狐友流汗,函数流水。

先顶后看,奖前励后,

官授七品,轿乘八抬。

 

钦此!


--  作者:y2287958
--  发布时间:2013/8/1 12:57:00
--