Foxtable(狐表)用户栏目专家坐堂 → 为什么流水账的AfterMoveRow表事件不起效


  共有12462人关注过本帖平板打印复制链接

主题:为什么流水账的AfterMoveRow表事件不起效

帅哥哟,离线,有人找我吗?
yankunhao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1031 积分:7237 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2010/12/20 16:58:00 [只看该作者]

现在发现,这样的代码在输入数据的时候,日期一定要按顺序输入,否则计算还是有问题,不知如何解决才好呢?

我这样写还是不行啊!

Dim dr1 As DataRow
        Dim dr2 As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
       
        If mr.IsNull("料品编码") = False Then
        dr1 = e.DataTable.Find("[会计期间] = '" & mr("会计期间") & "'and [日期] <= #" & mr("日期") & "# And [料品编码] = '" & mr("料品编码") & "'and [_sortkey] < " & mr("_sortkey") ,"[_SortKey] Desc")
            If dr1 Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
                If mr("摘要")="期初结存" Then
                    Return
                Else
                   
                    mr("结存量") = mr("生产供给量") - mr("订单需求量")
                   
                End If
                dr1 = mr
            End If
            drs = e.DataTable.Select("[会计期间] = '" & dr1("会计期间") & "'and [料品编码] = '" & dr1("料品编码") & "'And [日期] >= #" & dr1("日期") & "#" ,"[_SortKey]")

            For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
                drs(i)("结存量") = drs(i-1)("结存量") + drs(i)("生产供给量") - drs(i)("订单需求量")
            Next
        End If

[此贴子已经被作者于2010-12-20 17:01:38编辑过]

 回到顶部
总数 20 1 2 下一页