Foxtable(狐表)用户栏目专家坐堂 → 流水账问题


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

主题:流水账问题

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
流水账问题  发帖心情 Post By:2016/3/10 13:41:00 [显示全部帖子]

一个科目明细表记录每个会计科目流水账(日期、摘要、借方、贷方、余额),另一个表是余额表,余额表想自动取截止某一日期的余额怎么办,比如我想根据明细账在余额表中显示库存现金科目截止2015年10月30日的余额怎么办?而且2015年10月30日库存现金可能发生多笔业务,怎么能取到当天发生最后一笔的余额呢?

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/3/10 15:47:00 [显示全部帖子]

再问一个关于流水账的问题,流水账一般按日期及先后顺序计算余额呢,如果某一日期后加了一行是此日期以前日期的,比如在2015-10-30之前加了一个10-25日的数据,怎么还能按日期的先后顺序自动调整余额,数据的顺序不调整。

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/3/10 16:06:00 [显示全部帖子]

帮助是单条件计算流水账,现在是多条件计算流水账该如何修改下列黄色代码?
Select Case e.DataCol.Name
    Case "科目编号","借方金额","贷方金额","项目编号"
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [科目编号] = '" & mr("科目编号") & "'and [项目编号] = '" & mr("项目编号") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("余额") = mr("借方金额") - mr("贷方金额")
            dr = mr
        End If
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [科目编号] = '" & dr("科目编号") & "'[项目编号] = '" & mr("项目编号") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
            drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方金额") - drs(i)("贷方金额")
        Next
        If e.DataCol.Name = "科目编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [科目编号] = '" & e.OldValue & "'", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[科目编号] = '" & e.OldValue & "'", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("余额") = dr("借方金额") - dr("贷方金额")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [科目编号] = '" & dr("科目编号") & "'", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("余额") = drs(i-1)("余额") + drs(i)("借方金额") - drs(i)("贷方金额")
                Next
            End If
        End If
End Select

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/3/11 7:52:00 [显示全部帖子]

这个例子中有两个问题需要解决:一是希望项目明细增加一个新的科目编号和科目名称,在项目汇总中也能同时增加相应的科目编号和科目名称(前提汇总中没有这个科目及编号),但是会增加的不一致;二是明细账中实现不三楼所想的功能。

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2016/3/11 7:53:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:增加相应行.foxdb


 回到顶部