以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  调动目标发生了异常  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59038)

--  作者:华琴
--  发布时间:2014/10/28 17:25:00
--  调动目标发生了异常

运行错误:

调动的目标发生了异常。

 

详细错误信息:调用的目标发生了异常。

该字符串未被识别为有效的 DateTime。

有一个从索引 11 处开始的未知字。

 

 

代码是:

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
            max = e.DataTable.Compute("Max(凭证号)","制单日期 = #" & e.DataRow("制单日期") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大编号
            If max > "" Then \'如果存在最大编号
                idx = CInt(max.Substring(9,3)) + 1 \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1 \'否则顺序号等于1
            End If
            e.DataRow("凭证号") = bh & "-" & Format(idx,"000")
        End If
    End If
End If

 

 

这是什么原因呢?


--  作者:有点甜
--  发布时间:2014/10/28 17:30:00
--  

 这样试试

 

 max = e.DataTable.Compute("Max(凭证号)","制单日期 = #" & Format(e.DataRow("制单日期"), "yyyy-MM-dd") & "# And [_Identify] <> " & e.DataRow("_Identify")) \'取得该天的最大编号


--  作者:华琴
--  发布时间:2014/10/28 17:36:00
--  

管用!

  谢谢!