以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  这行代码,为什么总是多一个空行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=72492)

--  作者:JPG7
--  发布时间:2015/7/30 19:16:00
--  这行代码,为什么总是多一个空行
For Each dr As Row In Tables("成品入库_订单明细").GetCheckedRows
    Dim dr2 As Row = Tables("成品库存明细").AddNew
    If dr.IsNull("本次入库数量") =True And dr("未入数量") > 0 Then
        dr("本次入库数量") = dr("未入数量")
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("本次入库数量")
    Else If dr.IsNull("本次入库数量") =False And dr("未入数量") > 0 Then
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("本次入库数量")
        dr("本次入库数量") = Nothing
    End If    
Next
问题出在哪???

--  作者:czy
--  发布时间:2015/7/30 19:20:00
--  
应该是未入数量有小于等于0的行
--  作者:JPG7
--  发布时间:2015/7/30 19:27:00
--  
怎么去掉这个空行啊
--  作者:czy
--  发布时间:2015/7/30 20:09:00
--  
For Each dr As Row In Tables("成品入库_订单明细").GetCheckedRows
    Dim dr2 As Row
    If dr.IsNull("本次入库数量") =True And dr("未入数量") > 0 Then
        dr2 = Tables("成品库存明细").AddNew
        dr("本次入库数量") = dr("未入数量")
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("本次入库数量")
    Else If dr.IsNull("本次入库数量") =False And dr("未入数量") > 0 Then
        dr2 = Tables("成品库存明细").AddNew
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("本次入库数量")
        dr("本次入库数量") = Nothing
    End If
Next
--  作者:JPG7
--  发布时间:2015/7/30 20:32:00
--  
不管用啊
--  作者:狐狸爸爸
--  发布时间:2015/7/30 20:54:00
--  

何为空行? 是有判断条件的吧? 例如某列为空。

 

既如此,那么可以在代码最后面加一行:

 

Tables("成品库存明细").Delete("某列 Is null ")

 

或者修改一楼的代码:

 

For Each dr As Row In Tables("成品入库_订单明细").GetCheckedRows

    if dr.Isnull("某列")  then

        Contrinue for

    End if
    Dim dr2 As Row = Tables("成品库存明细").AddNew
    If dr.IsNull("本次入库数量") =True And dr("未入数量") > 0 Then
        dr("本次入库数量") = dr("未入数量")
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("本次入库数量")
    Else If dr.IsNull("本次入库数量") =False And dr("未入数量") > 0 Then
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("本次入库数量")
        dr("本次入库数量") = Nothing
    End If   
Next


--  作者:yinyb36
--  发布时间:2015/7/30 21:02:00
--  
For Each dr As Row In Tables("成品入库_订单明细").GetCheckedRows
    If dr("未入数量") > 0 Then
        Dim dr2 As Row = Tables("成品库存明细").AddNew
        dr2("ID") = dr("ID")
        dr2("入库数量") = dr("未入数量")
        If dr.IsNull("本次入库数量") Then
            dr("本次入库数量") = dr("未入数量")
        Else
            dr("本次入库数量") = Nothing
        End If
    End If
Next