以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动编号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149068)

--  作者:seal51
--  发布时间:2020/4/22 16:32:00
--  自动编号
发票编号的代码如下:
问题是新增一列比如编号是001, 如果删除,那么再次新增编号就变成002了,能否删除编号001, 再次新增还是编号001呢?


\'---------发票编号自动根据客户编号年份生成--------------------------------
Select e.DataCol.Name
Case "发票日期","客户编号"
If e.DataRow.IsNull("发票日期") OrElse e.DataRow.IsNull("客户编号") Then
e.DataRow("发票编号") = Nothing
Else
Dim d As Date = e.DataRow("发票日期")
Dim bh As String = "SMFP-" & e.DataRow("客户编号") & "" & Format(d,"yy") & "" \'生成编号的前缀
e.DataRow.Save
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "发票编号 like \'" & bh & "%\' And [_Identify] <> " & e.DataRow("_Identify")
max = e.DataTable.SQLCompute("Max(发票编号)",flt) \'取得该年的相同客户编号的最大发票编号
If max > "" Then \'如果存在最大发票编号
idx = CInt(max.Substring(bh.Length,2)) + 1 \'获得最大发票编号的后两位顺序号,并加1
Else
idx = 1 \'否则顺序号等于1
End If
e.DataRow("发票编号") = bh & Format(idx,"00")
e.DataRow.Save
End If
End Select

--  作者:有点蓝
--  发布时间:2020/4/22 16:43:00
--  
删除后马上保存即可
--  作者:seal51
--  发布时间:2020/4/22 16:54:00
--  
删除一行,没数据怎么保存,保存这个表吗?
[此贴子已经被作者于2020/4/22 16:56:49编辑过]

--  作者:seal51
--  发布时间:2020/4/22 17:10:00
--  
知道了,在删除的代码里加个保存代码, 谢谢!