以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  提示这个信息,应该怎么改?谢谢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81124)

--  作者:jinzhengbe
--  发布时间:2016/2/19 0:40:00
--  提示这个信息,应该怎么改?谢谢
 

 

 

 

Dim rks As Double = DataTables("rukudan").sqlCompute("sum(shuliang)", "name = \'" & e.DataRow("name") & "\'")

        Dim rks1 As Double = DataTables("weixin").sqlCompute("sum(shuliang)", "name = \'" & e.DataRow("name") & "\'")

        Dim cks As Double = e.DataTable.sqlCompute("sum(shuliang)", "name = \'" & e.DataRow("name") & "\'")

        If cks + rks1 > rks Then

   \'msgbox("无法出库,库存不足")

      Else

            Dim count As Integer = 0

            Dim drs As List(Of DataRow) = DataTables("rukudan").Select("name = \'" & e.DataRow("name") & "\'", "_Identify")

            For i As Integer = 0 To drs.count - 1

                Dim dr As DataRow = drs(i)

                count += dr("shuliang")

                Dim sy As Integer = count - (cks + rks1 - e.DataRow("shuliang"))

                If sy >= 0 Then

                    Dim cb, cbs As Double

                    count = 0

                    For j As Integer = i To drs.count - 1

                        dr = drs(j)

                        If j = i Then

                            count += sy

                            cb = sy * dr("price")

                        Else

                            count += dr("shuliang")

                            cb = dr("shuliang") * dr("price")

                            sy = dr("shuliang")

                        End If

                        If count >= e.DataRow("shuliang") Then

                            cbs += (e.DataRow("shuliang") - (count - sy)) * dr("price")

                             e.DataRow("cb")=cb

                                e.DataRow("cbs")=cbs

                                    e.DataRow("bb") = count

                           \' msgbox(cbs & count)

                            e.DataRow("lirun") = e.DataRow("shuliang") * e.DataRow("price") - cbs

                            Exit For

                        Else

                            cbs += cb

                        End If

                    Next

                    Exit For

                End If

            Next

    \'    End If

End If



图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

--  作者:新福星
--  发布时间:2016/2/19 7:00:00
--  
不清楚你这段程序是在哪个事件中。在不同的事件中 e参数引用是不一样的!你可以把e.datarow换成e.row试下!
--  作者:blackzhu
--  发布时间:2016/2/19 8:02:00
--  
库存写个查询视图不就行了?
--  作者:大红袍
--  发布时间:2016/2/19 9:37:00
--  
e.DataRow 全部改成 Tables("表A").Current
--  作者:jinzhengbe
--  发布时间:2016/2/19 23:22:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:jinzhengbe
--  发布时间:2016/2/19 23:31:00
--  
要放到 窗口的afterload事件里, 麻烦指点一下,换成tables(“”)。current也不行

[此贴子已经被作者于2016/2/19 23:45:16编辑过]

--  作者:大红袍
--  发布时间:2016/2/20 1:34:00
--  

 e.DataTable 改成 DataTables("表A")