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


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

主题:[求助]在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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
foxbable_saber
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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))



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


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

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

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


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

bin 大:

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

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



 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


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

谢!

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
foxbable_saber
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


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

没明白你的意思.

 回到顶部
帅哥哟,离线,有人找我吗?
foxbable_saber
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
总数 17 1 2 下一页