以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  (还有疑问)关于结转问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=101487)

--  作者:鲁吉
--  发布时间:2017/6/1 13:50:00
--  (还有疑问)关于结转问题
我有一个项目想实现关于结转的自动输入。
当本月为1月时,上年结转内容自动填入上年12月的本月余额。如果没有上年数据,或上年余额为0,则自动填入0。
[此贴子已经被作者于2017/6/4 20:13:25编辑过]

--  作者:有点色
--  发布时间:2017/6/1 14:07:00
--  

 做一个按钮,新增一行,然后统计本月之前的收入、支出,相减即可。


--  作者:鲁吉
--  发布时间:2017/6/1 14:34:00
--  11
附件提示上传成功,怎么看不到呢
[此贴子已经被作者于2017/6/1 14:34:46编辑过]

--  作者:有点色
--  发布时间:2017/6/1 14:48:00
--  
以下是引用鲁吉在2017/6/1 14:34:00的发言:
附件提示上传成功,怎么看不到呢
[此贴子已经被作者于2017/6/1 14:34:46编辑过]

 

请使用ie浏览器访问论坛。


--  作者:鲁吉
--  发布时间:2017/6/1 14:58:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于结转.table


--  作者:鲁吉
--  发布时间:2017/6/1 15:22:00
--  
看看5楼,帮设计下代码,谢谢!!
--  作者:有点色
--  发布时间:2017/6/1 15:38:00
--  

datacolchanged

 

Select Case e.DataCol.name
    Case "年", "月", "上年结转"
        If e.DataRow.IsNull("年") Then
            e.DataRow("本月余额") = Nothing
        ElseIf e.DataRow("月") = "1" Then
            Dim fdr As DataRow = e.DataTable.find("年 = \'" & e.DataRow("年") - 1 & "\' and 月 = 12")
            If fdr IsNot Nothing Then
                fdr("本月余额") = e.DataRow("上年结转")
            End If
        End If
End Select


--  作者:鲁吉
--  发布时间:2017/6/1 17:55:00
--  
不对啊,当填写本年1月时,把上年12月的本月余额给清零了
--  作者:有点色
--  发布时间:2017/6/1 18:05:00
--  

那就改成

 

Select Case e.DataCol.name
    Case "年", "月", "上年结转"
        If e.DataRow.IsNull("年") Then
            e.DataRow("本月余额") = Nothing
        ElseIf e.DataRow("月") = "1" Then
            Dim fdr As DataRow = e.DataTable.find("年 = \'" & e.DataRow("年") - 1 & "\' and 月 = 12")
            If fdr IsNot Nothing Then
                fdr("本月余额") = fdr("上年结转")
            End If
        End If
End Select


--  作者:鲁吉
--  发布时间:2017/6/3 8:20:00
--  
效果没变,本年一月没填写数据,却把上年12月的余额给清除了(应该是替换成空值了),是不是方向搞反了?