以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]bin版,您帮忙看看这几段代码有问题吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65738)

--  作者:bigeng
--  发布时间:2015/3/21 16:52:00
--  [求助]bin版,您帮忙看看这几段代码有问题吗?
datacolchanged事件:
If e.DataCol.Name = "凭证流水号" Then
    Dim s As String = e.DataRow("凭证流水号")
    If s > "" Then
        e.DataRow("凭证期间") = s.SubString(3,6)
    Else
        e.DataRow("凭证期间") = Nothing
    End If
End If

If e.DataCol.Name = "凭证流水号" Then
   Dim s As String = e.DataRow("凭证流水号")
   If s > "" Then
        e.DataRow("凭证号") = s.SubString(9,4)
    Else
        e.DataRow("凭证号") = Nothing
    End If
End If



--  作者:Bin
--  发布时间:2015/3/21 17:00:00
--  
你想做什么? 出现什么问题?
--  作者:bigeng
--  发布时间:2015/3/21 17:16:00
--  
我这个是记账凭证_主表下面有“凭证流水号”(如:PZ-2015010001)、“凭证期间”(201501)、“凭证号”(0001),“凭证期间”、“凭证号”从“凭证流水号”取数。但在记账凭证界面增加加凭证出现以下错误:
图片点击可在新窗口打开查看此主题相关图片如下:索引和长度必须引用该字符串内的位置(length).jpg
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2015/3/21 17:18:00
--  
If e.DataCol.Name = "凭证流水号" Then
    Dim s As String = e.DataRow("凭证流水号")
    If s.length > 9 Then
        e.DataRow("凭证期间") = s.SubString(3,6)
    Else
        e.DataRow("凭证期间") = Nothing
    End If
End If

If e.DataCol.Name = "凭证流水号" Then
   Dim s As String = e.DataRow("凭证流水号")
   If s.length > 13 Then
        e.DataRow("凭证号") = s.SubString(9,4)
    Else
        e.DataRow("凭证号") = Nothing
    End If
End If
[此贴子已经被作者于2015/3/21 17:18:21编辑过]

--  作者:bigeng
--  发布时间:2015/3/21 17:26:00
--  
OK,谢谢!