Foxtable(狐表)用户栏目专家坐堂 → (还有疑问)关于结转问题


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

主题:(还有疑问)关于结转问题

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
(还有疑问)关于结转问题  发帖心情 Post By:2017/6/1 13:50:00 [显示全部帖子]

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

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
11  发帖心情 Post By:2017/6/1 14:34:00 [显示全部帖子]

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

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/1 14:58:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于结转.table


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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/1 15:22:00 [显示全部帖子]

看看5楼,帮设计下代码,谢谢!!

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/1 17:55:00 [显示全部帖子]

不对啊,当填写本年1月时,把上年12月的本月余额给清零了

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/3 8:20:00 [显示全部帖子]

效果没变,本年一月没填写数据,却把上年12月的余额给清除了(应该是替换成空值了),是不是方向搞反了?

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/3 15:28:00 [显示全部帖子]

这样,1月的“上年结转”没问题了,谢谢蓝版主!
我试下接下来的几个月能不能把这个“上年结转”一直继承到本年12月

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/3 15:58: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
                e.DataRow("上年结转") =  fdr("本月余额")
            End If
        End If
End Select

运行后第一年没问题,当又增加一年时,又没有反应了
还有,有的可能不是从1月开始填,这样的话“上年结转”就不能自动从开始填写的第一个月往下继承,这样的情况下如何用代码使后面填写时能自动继承上个月的“上报结转”数据?
就是说,只有1月份的“上年结转”是继承的上一年12月的“本月余额”,其他月份的“上年结转”都是继承的前一个月的“上年结转”。
这个逻辑我应该说明白了吧
[此贴子已经被作者于2017/6/3 16:48:19编辑过]

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/3 16:31:00 [显示全部帖子]

请高手继续支招!!
[此贴子已经被作者于2017/6/3 16:49:03编辑过]

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


加好友 发短信
等级:三尾狐 帖子:711 积分:5362 威望:0 精华:0 注册:2013/5/27 9:48:00
  发帖心情 Post By:2017/6/3 16:59: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")
            Dim fdr1 As DataRow = e.DataTable.find("月 = '" & e.DataRow("月") - 1 &"'")
            If fdr IsNot Nothing Then
                e.DataRow("上年结转") =  fdr("本月余额")
            ElseIf e.DataRow("月") >"1"  Then
                e.DataRow("上年结转") =fdr1("上年结转")
            End If
        End If
End Select
这样也不行

 回到顶部
总数 26 1 2 3 下一页