以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  为什么编号重复,老师怎么解决?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=187433)

--  作者:xuzihang
--  发布时间:2023/7/18 10:40:00
--  为什么编号重复,老师怎么解决?
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(销售单号)", "[_Identify] <> " & e.DataRow("_Identify")) \'取得该月的最大编号
If max > "" Then \'如果存在最大编号
    idx = CInt(max) + 1 \'获得最大编号的后三位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("销售单号") = Format(idx,"")
为什么编号重复,老师怎么解决?
1
2
3
4
5
6
7
8
9
10
10
10

--  作者:puma
--  发布时间:2023/7/18 10:46:00
--  
红色的是没有保存到数据库 ,我时这么写的


Dim val As Integer 
val = DataTables("表").SQLCompute("max(ID)") + 1
\'当前行最大值
Dim max As Integer = DataTables("表").Compute("max(ID)") + 1
Dim valmax As Integer
If val > max Then
    valmax = val
Else
    valmax = max
End If


--  作者:有点蓝
--  发布时间:2023/7/18 10:51:00
--  
方法1、把销售单号列改为整数列
2、如果是字符列,单号必须等长,比如00001、00010、00100,不够的前面补0