Foxtable(狐表)用户栏目专家坐堂 → [求助]在A表计算x+Y列有效日期范围,并符合s周期需求,再在B表生成行并赋值!【已解决】


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

主题:[求助]在A表计算x+Y列有效日期范围,并符合s周期需求,再在B表生成行并赋值!【已解决】

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
[求助]在A表计算x+Y列有效日期范围,并符合s周期需求,再在B表生成行并赋值!【已解决】  发帖心情 Post By:2015/4/24 16:32:00 [显示全部帖子]

DataTables("计划生成表").DataRows.Clear
Dim drs As List(Of DataRow)
drs = DataTables("总表").Select("[需换钱否] = True")
For Each dr As DataRow In drs
    Dim t As TimeSpan = dr("结束日期") - dr("起始日期")
    
    For i As Integer = 1 To t.TotalDays
        Dim d As Date = Cdate(dr("起始日期")).AddDays(i)
        Dim dw As Integer = IIF(d.DayOfWeek=0,7,d.DayOfWeek)
        If dr("周期").Contains(dw) Then
            Dim dr2 As DataRow = DataTables("计划生成表").AddNew()
            dr2("执行日期")= d
            dr2("ID编号")=dr("ID编号")
            dr2("有效任务编号")=dr("有效任务编号")
            dr2("原始地")=dr("原始地")
            dr2("目的地")=dr("目的地")
            dr2("筛币种")=dr("筛币种")
        End If
    Next
Next


此主题相关图片如下:1234123213.jpg
按此在新窗口浏览图片


[此贴子已经被作者于2015/4/27 15:45:07编辑过]

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 10:08:00 [显示全部帖子]

bin 大:

没看懂如下代码:
        Dim dr2 As DataRow = DataTables("计划生成表").AddNew()         ‘在“计划生成表”增加行数,以dr2变量产生数为依据!
        dr2("执行日期")=drr("执行日期")                                                 ‘drr怎么就声明为“执行日期”了?(这个是由”总表“中起始日期、结束日期、周期,筛出来的日期 )
        dr2("ID编号")=drr("ID编号")
        dr2("有效任务编号")=drr("有效任务编号")
        dr2("原始地")=drr("原始地")
        dr2("目的地")=drr("目的地")
        dr2("筛币种")=drr("筛币种")


另外,您意思是让我如下代码来赋值?(上面仅仅是虚拟“筛选池”?)

        Dim Cols1() As String = { dr2("执行日期"); dr2("ID编号") ; dr2("有效任务编号"); dr2("原始地") ; dr2("目的地") ; dr2("筛币种") }     ’这个声明列编写不规范
        Dim Cols2() As String = { "执行日期" ; "ID编号" ; "有效任务编号" ; "原始地" ; "目的地" ; "筛币种" }
        Dim dr3 As DataRow = DataTables("计划生成表").AddNew()
        For i As Integer = 0 To Cols1.Length -1
            dr3(Cols2(i)) = dr3(Cols1(i))



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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 10:49:00 [显示全部帖子]

bin 大:

点击按钮后,计划生成表处无反应!!请给看看

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:货币转换项目.foxdb



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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 11:04:00 [显示全部帖子]

谢!

目前看目的基本达到!是这个意思~~~我再融会贯通下。

下次争取给bin大表述清楚需求

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 14:54:00 [显示全部帖子]

bin 大:

DataTables("计划生成表").DataRows.Clear
Dim drs As List(Of DataRow)
drs = DataTables("总表").Select("[需换钱否] = True")
For Each dr As DataRow In drs
 Dim t As TimeSpan = dr("结束日期") - dr("起始日期")                              '产生日期池后,如何再筛选出符合【总表】->【周期】列里的条件?
 For i As Integer = 1 To t.TotalDays
        Dim dr2 As DataRow = DataTables("计划生成表").AddNew()
        Dim d As Date = dr("起始日期")
        dr2("执行日期")= d.AddDays(i)
        dr2("ID编号")=dr("ID编号")
        dr2("有效任务编号")=dr("有效任务编号")
        dr2("原始地")=dr("原始地")
        dr2("目的地")=dr("目的地")
        dr2("筛币种")=dr("筛币种")
 Next
Next
[此贴子已经被作者于2015/4/27 15:00:20编辑过]

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 15:07:00 [显示全部帖子]

就是如下图:

结束日期-起始日期=日期池 24 25 26 27 28 29 30,
再根据【周期】列“周一 周三 周四 周五 周日”的日期 筛出最后日期!


图片点击可在新窗口打开查看此主题相关图片如下:1234123213.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/4/27 15:09:47编辑过]

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 15:14:00 [显示全部帖子]

就是如下图:

结束日期-起始日期=日期池 24 25 26 27 28 29 30,
再根据【总表】->【周期】列“周一 周三 周四 周五 周日”的日期 筛出最后日期!


此主题相关图片如下:1234123213.jpg
按此在新窗口浏览图片

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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 15:31:00 [显示全部帖子]

意思是:

 Dim t As TimeSpan = dr("结束日期") - dr("起始日期")    ’这里结果是符合 “开始到结束” 所有日期!!!
我需要再加段代码:在日期范围内比较符合【周期】列,(比如周期列是: "12.45.7",那么需要筛出“24~30”范围内,是周一 、周二、周四、周五、周日)的日期,也就是 24、26、27、28、30日期符合周期的日期!!!
最后添加行,赋值。


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


加好友 发短信
等级:婴狐 帖子:58 积分:431 威望:0 精华:0 注册:2015/4/16 17:25:00
  发帖心情 Post By:2015/4/27 15:35:00 [显示全部帖子]

对对,是这么个意思,爱死你了!图片点击可在新窗口打开查看

 回到顶部