以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5037)

--  作者:blackzhu
--  发布时间:2009/11/18 13:57:00
--  求代码

If e.DataCol.Name =  "箱数" Then
    If e.Datarow.IsNull("箱数") Then
        e.datarow("开始箱号") = Nothing
        e.datarow("结束箱号") = Nothing
    Else
        Dim dr As DataRow = DataTables("装箱单").Find("[IO] = \'" & e.datarow("IO") & "\' And [口岸] = \'" & e.datarow("口岸") & "\' And [结束箱号] > 0","_identify Desc")
        if dr IsNot Nothing Then
            e.datarow("开始箱号") = dr("结束箱号")+1
        End if
    End if
End if


  上面的一段代码,是算箱号的,但我想求一段代码,因为输入一个新的IO和口岸时,开始箱号我是手工输入的,我想求的代码时每一个新的IO和口岸输入时,第一个开始箱号为1,下面的箱号再执行上面的代码,效果如下:

IO     口岸      箱数     开始箱号     结束箱号
AAA    B          2          1               2
AAA    B          3          3                5
AAA    B          1          6                6
AAA    C          1           1                1
AAA    C          5           2                6
BBB    B          5           1                5
BBB    B          2           6                7
BBB    D          1           1                1
BBB    D          7           2                8


  
--  作者:狐狸爸爸
--  发布时间:2009/11/18 15:06:00
--  
If e.DataCol.Name =  "箱数" Then
    If e.Datarow.IsNull("箱数") Then
        e.datarow("开始箱号") = Nothing
        e.datarow("结束箱号") = Nothing
    Else
        Dim dr As DataRow = DataTables("装箱单").Find("[IO] = \'" & e.datarow("IO") & "\' And [口岸] = \'" & e.datarow("口岸") & "\' And [结束箱号] > 0","_identify Desc")
        if dr IsNot Nothing Then
            e.datarow("开始箱号") = dr("结束箱号")+1
        Else 
            e.datarow("开始箱号")  = 1
        End if
    End if
End if

--  作者:blackzhu
--  发布时间:2009/11/18 15:24:00
--  
if dr IsNot Nothing Then
            e.datarow("开始箱号") = dr("结束箱号")+1
        Else 
            e.datarow("开始箱号")  = 1
        End if
    End if
End if


  原来这么简单,我做的时候,上下反了,做来做去做不起来了.