以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于 For n As Integer = 0 To ?的计算问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7681)

--  作者:yankunhao
--  发布时间:2010/7/24 12:05:00
--  关于 For n As Integer = 0 To ?的计算问题

 Case "件数"
        Dim s As String = e.Datarow("每件编号")
        Dim sd As String=e.Datarow("装箱单号")
        Dim sum As Double
        If e.Datarow("每件编号") IsNot Nothing Then
            Dim drs As List(Of Datarow) = Datatables("成品装箱交付表").Select("[每件编号] = \'" & s & "\' And [装箱单号]= \'" & sd & "\'")
            If drs.Count=1 Then
                e.Datarow("产品净重")= e.Datarow("件数")*e.Datarow("每件净重")
            Else If drs.Count>1 Then
                For n As Integer = 0 To drs.Count - 1 \'遍历行
                    If n=0  Andalso drs(0)("每卡通毛重") IsNot Nothing  Then
                        drs(0)("产品净重")=drs(0)("每卡通毛重")*drs(0)("每件卡通个数")
                        sum=drs(0)("产品净重")
                    Else If n > 0 Andalso n< drs.Count - 1 Andalso drs(n)("每卡通毛重") IsNot Nothing  Then
                        drs(n)("产品净重")=drs(n)("每卡通毛重")*drs(n)("每件卡通个数")
                        sum=sum+drs(n)("产品净重")
                   Else If  n > 0 Andalso n< drs.Count - 1 Andalso drs(n)("每卡通毛重")=Nothing

                            Dim sum1 As Double= drs(0)("产品净重")
                            drs(n)("产品净重")=e.Datarow("件数")*e.Datarow("每件净重")-sum1
                            sum1=sum1+drs(n)("产品净重")

                   
                   Else If n=drs.Count - 1  Andalso drs(drs.Count - 1)("每卡通毛重") IsNot Nothing  Then
                        drs(n)("产品净重")=e.Datarow("件数")*e.Datarow("每件净重")-sum
                       
                                           
                    End If
                Next
            End If
        Else
            e.Datarow("产品净重")=Nothing
           
        End If

 

以上代码中的加粗字体功能实现不了,不明白原因何在,请大家帮我看看。



--  作者:czy
--  发布时间:2010/7/24 12:14:00
--  

drs(n)("每卡通毛重") Is Nothing行不行?

 


--  作者:yankunhao
--  发布时间:2010/7/24 13:42:00
--  
以下是引用czy在2010-7-24 12:14:00的发言:

drs(n)("每卡通毛重") Is Nothing行不行?

 

试了还是不行,真的想不明白啊!


--  作者:yankunhao
--  发布时间:2010/7/24 14:58:00
--  

有谁可以看一下吗?


--  作者:yankunhao
--  发布时间:2010/7/24 16:15:00
--  

现在明白了。


--  作者:mr725
--  发布时间:2010/7/24 16:22:00
--  

是少了个 Then 吗?


--  作者:czy
--  发布时间:2010/7/24 21:01:00
--  
以下是引用mr725在2010-7-24 16:22:00的发言:

是少了个 Then 吗?

 

不是,狐狸中的一滴Then其实忽略了也没关系。


--  作者:狐狸爸爸
--  发布时间:2010/7/25 17:34:00
--  

判断某列为空的语法:

 

drs(n).IsNull("每卡通毛重")