Foxtable(狐表)用户栏目专家坐堂 → [求助]请教GetValues中Filter方法关于日期的表达式


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

主题:[求助]请教GetValues中Filter方法关于日期的表达式

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


加好友 发短信
等级:幼狐 帖子:174 积分:1671 威望:0 精华:0 注册:2018/4/22 18:54:00
[求助]请教GetValues中Filter方法关于日期的表达式  发帖心情 Post By:2019/2/18 0:55:00 [只看该作者]

各位老师好:
想通过下面的代码统计出各个年度内参与帮扶的乡镇数,可是在生成的临时表中,统计出的结果没有分年度列出,而且是总数,也知道用GetValues中Filter方法,但代码不会写,请指教,谢谢

Dim g1 As New GroupTableBuilder("帮扶统计表2", DataTables("困难人员帮扶记录表"))
g1.Groups.AddDef("走访日期", DateGroupEnum.Year, "年度")
g1.Totals.AddDef("姓名", AggregateEnum.Count, "帮扶户数") 
g1.VerticalTotal = True   '--合计
g1.Build()    '---生成

DataTables("帮扶统计表2").DataCols.Add("年度内参与帮扶乡镇数",Gettype(Integer))
For Each dr As DataRow In DataTables("帮扶统计表2").DataRows 
  Dim d As Date = new Date(val(dr("年度")),1)   不知道这一行写的对不对
  dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇,这里的Filter代码不会写").Count
Next

这是项目中两个表的截图,一个是困难人员帮扶记录表,一个是生成的临时表帮扶统计表2

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


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

[此贴子已经被作者于2019/2/18 8:36:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/18 9:50:00 [只看该作者]

DataTables("帮扶统计表2").DataCols.Add("年度内参与帮扶乡镇数",Gettype(Integer))
For Each dr As DataRow In DataTables("帮扶统计表2").DataRows 
  Dim d As Date = new Date(val(dr("年度")),1,1)   '不知道这一行写的对不对
  dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇","帮扶日期>=#" & d & "# and 帮扶日期 < #" & d.AddYears(1) & "#").Count
Next

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


加好友 发短信
等级:幼狐 帖子:174 积分:1671 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/2/18 17:04:00 [只看该作者]

有点蓝老师好:
运行上段代码之后出现错误提示:年、月和日参数描述无法表示的 DateTime。

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/18 17:48:00 [只看该作者]

DataTables("帮扶统计表2").DataCols.Add("年度内参与帮扶乡镇数",Gettype(Integer))
For Each dr As DataRow In DataTables("帮扶统计表2").DataRows
    If dr("年度") <> "合计"
        Dim d As Date = new Date(val(dr("年度")),1,1)   '不知道这一行写的对不对
        dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇","帮扶日期>=#" & d & "# and 帮扶日期 < #" & d.AddYears(1) & "#").Count
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:174 积分:1671 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/2/18 19:41:00 [只看该作者]

行了,谢谢有点蓝老师

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


加好友 发短信
等级:幼狐 帖子:174 积分:1671 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/2/24 12:45:00 [只看该作者]

各位老师,就上面的问题还需要请教
在上面的统计中,想增加一个县市分组,分年度和县市统计出参与帮扶的乡镇数量。于是,我把“困难人员帮扶记录表”增加了“所属县市”列,把代码修改如下,可是提示错误,请指教:

Dim g1 As New GroupTableBuilder("帮扶统计表2", DataTables("困难人员帮扶记录表"))
g1.Groups.AddDef("走访日期", DateGroupEnum.Year, "年度")
g1.Groups.AddDef("所属县市","所属县市")     ‘---这是新增的代码
g1.Totals.AddDef("姓名", AggregateEnum.Count, "帮扶户数") 
g1.VerticalTotal = True   '--合计
g1.Build()    '---生成

DataTables("帮扶统计表2").DataCols.Add("年度内参与帮扶乡镇数",Gettype(Integer))
For Each dr As DataRow In DataTables("帮扶统计表2").DataRows
    If dr("年度") <> "合计"
        Dim d As Date = new Date(val(dr("年度")),1,1)   '不知道这一行写的对不对
        dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇","帮扶日期>=#" & d & "# and 帮扶日期 < #" & d.AddYears(1) & "#" And "所属县市 = DataTables("帮扶统计表2").DataRows("所属县市")").Count     ‘----红色的代码是新增的
    End If
Next

错误提示是:应为逗号、“)”或有效的表达式继续符
[此贴子已经被作者于2019/2/24 13:03:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/24 13:55:00 [只看该作者]

DataTables("帮扶统计表2").DataCols.Add("年度内参与帮扶乡镇数",Gettype(Integer))
For Each dr As DataRow In DataTables("帮扶统计表2").DataRows
    If dr("年度") <> "合计"
        Dim d As Date = new Date(val(dr("年度")),1,1)   '不知道这一行写的对不对
        dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇","帮扶日期>=#" & d & "# and 帮扶日期 < #" & d.AddYears(1) & "#" And "所属县市 = '" & dr("所属县市") & "'"     '----红色的代码是新增的
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:174 积分:1671 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/2/24 15:07:00 [只看该作者]

有点甜老师,提示错误,请你再看看。
错误提示是:从字符串“走访日期 >=#2019-01-01# and 走访日期 < #”到类型“Long”的转换无效。

  dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇","帮扶日期>=#" & d & "# and 帮扶日期 < #" & d.AddYears(1) & "#" And 所属县市 = '" & dr("所属县市") & "'" ).Count     '----红色的代码是新增的

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


加好友 发短信
等级:幼狐 帖子:174 积分:1671 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/2/24 15:20:00 [只看该作者]

有点甜老师,不麻烦您了,我已经改好了

 dr("年度内参与帮扶乡镇数") = DataTables("困难人员帮扶记录表").GetValues("所在乡镇","帮扶日期>= #" & d & "# and 帮扶日期 < #" & d.AddYears(1) & "#   And   所属县市 = '" & dr("所属县市") & "' " ).Count    

 回到顶部