Foxtable(狐表)用户栏目专家坐堂 → 第一行的期末值 作为第二行的期初值,以此类推


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

主题:第一行的期末值 作为第二行的期初值,以此类推

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


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

我知道没问题,但我现在想在那个代码的基础上向实现 另一种功能

即 某一行的C列值可以自动跳转到该行的下一行(仅是该行的下一行的A列固定的单元格,且只有这一个单元格,而不是这个单元格的整个列都显示C的值),可以实现吗,谢谢

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/15 16:31:00 [只看该作者]

参考

 

Dim idx as integer = Tables("表A").FindRow("[_SortKey] > " & e.DataRow("_SortKey"))

If idx >= 0 Then Tables("表A").Select(idx, 0)


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


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

Select Case e.DataCol.Name
    Case "A","B"
        Dim dr As DataRow = e.DataTable.Find("[_SortKey] > " & e.DataRow("_SortKey"))
        If dr IsNot Nothing Then
            dr("A") = e.DataRow("A") + e.DataRow("B")
        End If
End Select

老师,这段代码怎么意思?专业术语不会使用

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/17 15:58:00 [只看该作者]

 查找 _Sortkey 列大于当前行 _Sortkey 列的行。如果找到,就赋值。

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


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

问题追加:
      原问题:就是有A、B、C三列,其中C列为 表达式列,C列的值是由A+B得出
                 现在想实现的是:让C列所在行的值自动跳转到 下一行的A列所在值
      原代码:Select Case e.DataCol.Name
                            Case "A","B"
                        Dim dr As DataRow = e.DataTable.Find("[_SortKey] > " & e.DataRow("_SortKey"))
                               If dr IsNot Nothing Then
                                  dr("A") = e.DataRow("A") + e.DataRow("B")
                               End If
                      End Select

现在增加了一列D列字符型
D列为不同的账号,现在想实现的是:
                      根据不同的账号来显示原来的问题!就是不同的账号(D列),让C列所在行的值自动跳转到 下一行的A列所在值,不同的账号分别统计
                          


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/29 12:17:00 [只看该作者]

Dim dr As DataRow = e.DataTable.Find("[_SortKey] > " & e.DataRow("_SortKey") & " and D = '" & e.DataRow("D") & "'")

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


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

Select Case e.DataCol.Name
                            Case "A","B"
                        Dim dr As DataRow = e.DataTable.Find("[_SortKey] > " & e.DataRow("_SortKey"))
                                Dim dr As DataRow = e.DataTable.Find("[_SortKey] > " & e.DataRow("_SortKey") & " and D = '" & e.DataRow("D") & "'")
                               If dr IsNot Nothing Then
                                  dr("A") = e.DataRow("A") + e.DataRow("B")
                               End If
                      End Select


是这样吗?

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


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

老师,是这样的

不同账户(D)的下一行的期初余额是根据各自上一行的期末额来自动跳转的

比如说  第一行是账户1。第二行为账号2.第三仍行为账户1,那么第四行为账户2时,是根据第二行的期末额来自动跳转的

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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/8/29 14:43:00 [只看该作者]

还是要用高效率流水账计算

在表的 DataColChanged  事件中试一下下面的代码


Select Case e.DataCol.Name
    Case "期末额"
        Dim dr As DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") '找出上一行
        If dr Is Nothing Then '如果没有找到上一行,说明本行就是第一行
            e.DataRow("期初额") = 0
            dr = e.DataRow
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
            drs(i)("期初额") = drs(i-1)("期末额")
        Next    
End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/29 14:43:00 [只看该作者]

看27楼,代码没问题

 回到顶部
总数 47 上一页 1 2 3 4 5 下一页