以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请求帮助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109542)

--  作者:nxqtxwz
--  发布时间:2017/11/14 15:11:00
--  请求帮助
请老师们帮忙写一个“部门+年+三位数累加”的编号,谢谢!
--  作者:有点甜
--  发布时间:2017/11/14 15:17:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2403.htm

 


--  作者:nxqtxwz
--  发布时间:2017/11/14 15:53:00
--  

我编程不行啊,怎么把例子中的“月”去掉,只要“年+三位数”。把“部门”加在最前面呢?登录是以部门登录的。


--  作者:nxqtxwz
--  发布时间:2017/11/14 15:59:00
--  

是不是这样就行了?

 

Dim d As Date = Date.Today
Dim max As String
Dim idx As Integer
Dim flt As String
Dim bh As String = User.Name & Format(d,"yyyy")
flt = "编号 like \'" & bh & "%\'"
Output.Show(flt)
max = e.DataTable.Compute("Max(编号)",flt)
If max > "" Then \'如果存在最大单据编号
    idx = CInt(max.Substring(max.Length-3,3)) + 1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("编号") = bh & Format(idx,"000")

Tables("出差记录").Sort = "[_Identify] desc"

[此贴子已经被作者于2017/11/14 15:59:40编辑过]

--  作者:有点甜
--  发布时间:2017/11/14 16:58:00
--  

DataRowAdded事件

 

Dim d As Date = Date.Today
Dim bh As String = User.Name & Format(d,"yyyy")
dim flt = "编号 like \'" & bh & "%\'"
dim max = e.DataTable.Compute("Max(编号)",flt)
dim idx = 1
If max > "" Then \'如果存在最大单据编号
    idx = CInt(max.Substring(bh.length)) + 1
End If
e.DataRow("编号") = bh & Format(idx,"000")