以文本方式查看主题

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

--  作者:seal51
--  发布时间:2015/2/7 11:40:00
--  自动编号的起始号码
有段代码:

Dim max As String
max = e.DataTable.Compute("max(采购产品ID)")
If max > "" Then
    Dim idx As Integer
    idx = CInt(max.SubString(3,6)) + 1
    e.DataRow("采购产品ID") = "CID" & Format(idx,"000000")
Else
    e.DataRow("采购产品ID") = "CID" & "000001"
End If

新增行的编号从CID000000开始, 如何让代码从CID150000开始自动编号呢

--  作者:Bin
--  发布时间:2015/2/7 11:41:00
--  
Dim max As String
max = e.DataTable.Compute("max(采购产品ID)")
If max > "" Then
    Dim idx As Integer
    idx = CInt(max.SubString(3,6)) + 1
    e.DataRow("采购产品ID") = "CID" & Format(idx,"000000")
Else
    e.DataRow("采购产品ID") = "CID" & "150000"
End If

--  作者:seal51
--  发布时间:2015/2/7 11:50:00
--  
BIN老师, 没有递增啊,测试新增多行编号都是CID15000, 而不是CID150001, CID150002.....
--  作者:Bin
--  发布时间:2015/2/7 11:58:00
--  
e.DataTable.Compute("max(采购产品ID)")  除非你这句代码.每次都获取不到值.具体上个例子看看吧
--  作者:seal51
--  发布时间:2015/2/7 12:12:00
--  
后台是SQL数据库, 需要设置什么吗
--  作者:Bin
--  发布时间:2015/2/7 12:14:00
--  
不需要.
--  作者:Bin
--  发布时间:2015/2/7 12:14:00
--  
例子的话.你做个内部数据源的例子吧
--  作者:seal51
--  发布时间:2015/2/7 12:21:00
--  
内部表测试没有问题, 采购产品ID列在SQL数据库需要更改什么吗, 
--  作者:seal51
--  发布时间:2015/2/7 12:27:00
--  
新建了一个表, 好了, 谢谢BIN老师