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


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

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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/24 16:42:00 [显示全部帖子]

Dim drs As List(Of DataRow)
drs = DataTables("总表").Select("[需换钱否] = True")
For Each dr As DataRow In drs
    For Each drr As DataRow In DataTables("计划生成表").Select("有效任务编号='" & dr("有效任务编号") & "' and 执行日期>=#" & dr("起始日期") & "# and 执行日期<=#" & dr("结束日期") & "#")        'drr 您说是想要的行
        
        ******这里得 声明新"变量列"名称,然后 变量池是 drr 里面的值,这个怎么写??
        Dim dr2 As DataRow = DataTables("计划生成表").AddNew()
        dr2("执行日期")=drr("执行日期")
         dr2("ID编号")=drr("ID编号")
         dr2("有效任务编号")=drr("有效任务编号")
        dr2("原始地")=drr("原始地")
        dr2("目的地")=drr("目的地")
        dr2("筛币种")=drr("筛币种")
         ****** 上面赋值完日期,这里得把(id编号、有效编号、原始地、目的地、筛币种)赋值,不知道怎么再继续写了
    Next

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 10:19:00 [显示全部帖子]

不是,你按照我写的用就好,等你熟练后在转为蓝色代码.目前你蓝色代码还是错的.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 10:56: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 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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 15:00:00 [显示全部帖子]

没明白你的意思.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 15:08:00 [显示全部帖子]

你的日期本来就是根据 结束日期和开始日期算出来的啊.不明白你要筛选什么?  取最大的日期?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 15:16:00 [显示全部帖子]

意思是筛选出2015-04-30的这一行?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 15:25: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

这个意思是吧

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/27 15:32:00 [显示全部帖子]

看看14楼.

 回到顶部