Foxtable(狐表)用户栏目专家坐堂 → 表中“费用总额”会自动跳转到下一个有 相同账号 的“本金”列


  共有1768人关注过本帖树形打印复制链接

主题:表中“费用总额”会自动跳转到下一个有 相同账号 的“本金”列

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


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
表中“费用总额”会自动跳转到下一个有 相同账号 的“本金”列  发帖心情 Post By:2016/8/29 20:36:00 [只看该作者]

有“账号”列,“本金”列,“利息”列,“服务费”列,“费用总额”列

                 其中“费用总额”=“本金”+“利息”-“服务费”
                  且
                 表中“费用总额”会自动跳转到下一个有 相同账号 的“本金”列

该怎么写代码?


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/30 9:01:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
约翰舒
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/30 9:03:00 [只看该作者]

看不懂

 回到顶部
帅哥哟,离线,有人找我吗?
约翰舒
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/30 10:15:00 [只看该作者]

这个能帮着看看嘛,写下代码,,,

 回到顶部
帅哥哟,离线,有人找我吗?
约翰舒
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/30 10:32:00 [只看该作者]

下面是流水账的设计方法

Select Case e.DataCol.Name
    Case
"产品","入库",
"出库"
       
Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [产品] = '" & e.DataRow("产品") & "'"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "[_SortKey] <= " & dr("_SortKey") & " And [产品] = '" & dr("产品") & "'"
            Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter)
            Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter)
            dr("库存") = Val1 - Val2
        Next
        If e.DataCol.Name = "产品" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [产品] = '" & e.OldValue & "'"
            drs = e.DataTable.Select(Filter)
            For Each dr As DataRow In drs
                Filter = "[_SortKey] <= " & dr("_SortKey") & " And [产品] = '" & dr("产品") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(入库)",Filter)
                Dim Val2 As Double = e.DataTable.Compute("Sum(出库)",Filter)
                dr("库存") = Val1 - Val2
            Next
        End If
End
Select



但是这个相同产品的库存不能自动跳转至相同产品下一行入库栏,这个该怎么实现吶

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/30 10:56:00 [只看该作者]

上传例子说明

 回到顶部
帅哥哟,离线,有人找我吗?
约翰舒
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:226 积分:1796 威望:0 精华:0 注册:2016/8/3 15:11:00
  发帖心情 Post By:2016/8/30 11:01:00 [只看该作者]

还是上面那个例子,比如第一行   产品1,入库2,出库0,库存为2
                              第二行    产品2,入库2,出库1,库存为1
                              第三行    产品1,入库2,出库1,库存为1

第一行和第三行都是产品1,第三行的入库为第一行的库存,自动跳转的

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/30 11:22:00 [只看该作者]

这是流水账,如果只是想输入完毕后进行跳转,参考

Select Case e.DataCol.Name
    Case "产品","入库","出库"
        Dim idx1 As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
        If idx1 >= 0 Then
            idx1 = Tables(e.DataTable.Name).Find(e.DataRow("产品"),idx1+1,"产品",True,True,False)
            If idx1 >=0 Then
                Tables(e.DataTable.Name).Position = idx1
            End If
        End If
End Select

 回到顶部