Foxtable(狐表)用户栏目专家坐堂 → 求助:自动修改代码列名中的年份


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

主题:求助:自动修改代码列名中的年份

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


加好友 发短信
等级:婴狐 帖子:29 积分:256 威望:0 精华:0 注册:2018/1/22 22:52:00
求助:自动修改代码列名中的年份  发帖心情 Post By:2018/2/4 15:53:00 [显示全部帖子]

因我的表中有多列,例如:“年出差统计_2014”、“年出差统计_2015”、“年出差统计_2016”、“年出差统计_2017”、“年出差统计_2018”........,如每一列都复制修改代码,感觉太繁琐了。


想自动修改case后面代码的年份,和第3行代码中的年份。
请老师帮忙看看有没有好的方法。谢谢!


1 Select Case e.DataCol.Name
2   Case "年出差统计_2014"                       
3        Dim y As Integer =2014
4        Dim ys As Date = New Date(y,1,1) 
5        Dim yd As Date = New Date(y,12,31) 
        Dim drs As List(Of DataRow)
        Dim days As timespan
        If e.DataRow("目的国入境_日期")>= ys And e.DataRow("目的国入境_日期")<= yd Then
            If e.DataRow("离境_日期")<=yd Then
                days=cdate(e.DataRow("离境_日期"))-cdate(e.DataRow("目的国入境_日期"))
            Else
                days=cdate(yd)-cdate(e.DataRow("目的国入境_日期"))
            End If
            e.DataRow(e.DataCol.name)=math.round(days.Totaldays+1,0)
        End If
        If e.DataRow("目的国入境_日期")< ys And e.DataRow("离境_日期")>= ys And e.DataRow("离境_日期")<= yd Then
            days=cdate(e.DataRow("离境_日期"))-cdate(ys)
            e.DataRow(e.DataCol.name)=math.round(days.Totaldays+1,0)
            
        End If
End Select

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


加好友 发短信
等级:婴狐 帖子:29 积分:256 威望:0 精华:0 注册:2018/1/22 22:52:00
  发帖心情 Post By:2018/2/4 19:24:00 [显示全部帖子]

多谢老师的帮助,已完美解决,谢谢!

另外一个问题:
    case 后面的 列名称  如何能自动获取呢

    Select Case e.DataCol.Name

        Case "出国天数_2014","出国天数_2015","出国天数_2016",

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


加好友 发短信
等级:婴狐 帖子:29 积分:256 威望:0 精华:0 注册:2018/1/22 22:52:00
  发帖心情 Post By:2018/2/4 20:13:00 [显示全部帖子]

搞定了,多谢老师!

 回到顶部