以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  按顺序赋值,哪里错了  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62576)

--  作者:晕了快扶我
--  发布时间:2015/1/4 21:14:00
--  按顺序赋值,哪里错了

For Each r As Row In Tables("产品资料主表").Rows
    If r("Newsys_ID").StartsWith("WLZB") = False \'如果单据编号前缀不符
        Dim max As String
        Dim idx As Integer
        max = DataTables("产品资料主表").Compute("Max(Newsys_ID)","[_Identify] <> \'" & r("_Identify") & "\'") \'取得该类别的最大编号
        If max > "" Then \'如果存在最大编号
            idx = CInt(max.SubString(4,3)) + 1 \'获得最大编号的后三位顺序号,并加1
        Else
            idx = 1 \'否则顺序号等于1
        End If
        r("NewSys_ID") = "WLZB" & "-" & Format(idx,"000")
    End If
Next

 

提示错误是字节长度,搞晕了


--  作者:晕了快扶我
--  发布时间:2015/1/4 21:18:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150104211756.png
图片点击可在新窗口打开查看
错误提示是这样的
--  作者:有点甜
--  发布时间:2015/1/4 21:29:00
--  

1、清除所有编号

 

2、改成 idx = CInt(max.SubString(5)) + 1 \'获得最大编号的后三位顺序号,并加1