Foxtable(狐表)用户栏目专家坐堂 → 三列日期合并的代码怎么写?


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

主题:三列日期合并的代码怎么写?

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
三列日期合并的代码怎么写?  发帖心情 Post By:2018/4/6 14:12:00 [显示全部帖子]

兹有银行日记流水表(详见上传附件),其中列[收入日期1]、[收入日期2]、[支出日期]均取数于其他表,属于数据列,并且不会出现在同一行。现为计算银行日记账余额,拟将这三列日期归并于[收支日期]列进行时间排序,求:1、合并这三列日期的代码编写。2、日期排序后银行余额代码编写。谢谢。

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/6 17:19:00 [显示全部帖子]

非常感谢有点甜这么快回复了。不好意思 ,第一次上传居然没传成功。关于你的建议,可能没明白我的意思 ,否先看看上传的表,我想把3列日期列,合并成一个日期列,当然这个合并列得是数据列,因为后面计算余额,还得用代码,必须是用数据列写代码。这是我想学的,谢谢,麻烦继续指导。盼回复。

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 14:07:00 [显示全部帖子]

甜大师:麻烦你看看图片哦,只求将[收入日期1]、[收入日期2]、[支出日期]这三列日期归并于[收支日期]列,的代码编写,这对你来将是小菜一碟,拜托啦。

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 17:43:00 [显示全部帖子]

好的,再传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:银行流水.table


图片点击可在新窗口打开查看此主题相关图片如下:三列日期合并代码.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 18:08:00 [显示全部帖子]

先不求余额,说明 里有现成的代码,求归并日期的代码。拟先三列日期归并 于【收支日期】,这个代码不会写哦。   计算规划是:1、收入金额=金额1+金额2           2、余额=收入金额-支出金额

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 18:14:00 [显示全部帖子]

好的,下面是需要的结果的图
图片点击可在新窗口打开查看此主题相关图片如下:需要的效果.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 21:21:00 [显示全部帖子]

谢谢xvkewen的提示,因我是初学,所以考虑过你的思路 ,但代码运用不熟悉。照你提供思路代码如下:
Select Case e.DataCol.Name
    Case "收入日期1","收入日期2","支出日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("收入日期1")  And  dr.IsNull("收入日期2")
            dr("收支日期") = "支出日期"
        Else
            If dr.IsNull("收入日期1")  And   dr.IsNull("支出日期")
                dr("收支日期") = "收入日期2"
                If dr.IsNull("收入日期2")  And   dr.IsNull("支出日期")
                    dr("收支日期") = "收入日期1"
                End If
            End If
        End If
End Select
运行上述代码,出现错误提示,能否帮分析 是哪里出错了。
图片点击可在新窗口打开查看此主题相关图片如下:错误提示.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 21:25:00 [显示全部帖子]

上面语句缺了then,加上去也没用。
Select Case e.DataCol.Name
    Case "收入日期1","收入日期2","支出日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("收入日期1")  And  dr.IsNull("收入日期2") Then
            dr("收支日期") = "支出日期"
        Else
            If dr.IsNull("收入日期1")  And   dr.IsNull("支出日期") Then
                dr("收支日期") = "收入日期2"
                If dr.IsNull("收入日期2")  And   dr.IsNull("支出日期") Then
                    dr("收支日期") = "收入日期1"
                End If
            End If
        End If
End Select

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


加好友 发短信
等级:婴狐 帖子:12 积分:279 威望:0 精华:0 注册:2015/5/30 12:36:00
  发帖心情 Post By:2018/4/7 23:43:00 [显示全部帖子]

终于搞定,原来犯了两个错误,一是代码中语法有错误,二是没有运用IF语句中的多分支形式。还是要认真理解说明呀,改写代码如下:
Select Case e.DataCol.Name
    Case "收入日期1","收入日期2","支出日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("收入日期1")  And  dr.IsNull("收入日期2") Then
            dr("收支日期") = dr("支出日期")
        ElseIf dr.IsNull("收入日期1")  And  dr.IsNull("支出日期") Then
            dr("收支日期") = dr("收入日期2")
        Else
            If  dr.IsNull("收入日期2")  And  dr.IsNull("支出日期") Then
                dr("收支日期") = dr("收入日期1")
            End If
        End If
End Select
再次感谢 xvkewen 和 有点甜  二位的指点

 回到顶部