以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]编号问题,这是我改的代码,第一行可以,第二行就出错了,  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19707)

--  作者:hp001
--  发布时间:2012/5/18 16:10:00
--  [求助]编号问题,这是我改的代码,第一行可以,第二行就出错了,
If e.DataCol.Name = "出入库日期" Then
    If e.DataRow.IsNull("出入库日期") Then
        e.DataRow("出入库单号") = Nothing
    Else
        Dim bh As String = Format(e.DataRow("出入库日期"),"yyyyMMdd") \'取得编号的8位前缀
        If e.DataRow("出入库单号").StartsWith(bh) = False \'如果编号的前8位不符
            Dim max As String
            Dim idx As Integer
Output.Show(1)
            max = e.DataTable.Compute("Max(出入库单号)","出入库日期 = #" & e.DataRow("出入库日期") & "#") \'取得该天的最大编号
            If max > "" Then \'如果存在最大编号
                idx = CInt(max.Substring(9,3)) + 1 \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 \'否则顺序号等于1
            End If
Output.Show(2)
            e.DataRow("出入库单号") = e.DataRow("库存标识") & bh & "-" & Format(idx,"000")
Output.Show(3)
        End If
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看

--  作者:hp001
--  发布时间:2012/5/18 16:11:00
--  

这串代码是哪里有问题呢


--  作者:lihe60
--  发布时间:2012/5/18 16:53:00
--  
用messagebox.show()提示位置。
--  作者:blackzhu
--  发布时间:2012/5/18 17:18:00
--  
这个编号的写法字段必须是字符型.
--  作者:狐狸爸爸
--  发布时间:2012/5/18 21:52:00
--  
这个得有具体的例子,别人才能帮你分析出来。