Foxtable(狐表)用户栏目专家坐堂 → 请教SQLtable的统计


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

主题:请教SQLtable的统计

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


加好友 发短信
等级:小狐 帖子:363 积分:3460 威望:0 精华:0 注册:2016/5/25 21:31:00
请教SQLtable的统计  发帖心情 Post By:2019/7/8 22:38:00 [只看该作者]

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("编号", Gettype(String), 16)
dtb.AddDef("打卡时间", Gettype(Date))
dtb.AddDef("打卡时段", Gettype(String),255)
dtb.Build()
MainTable= Tables("统计")

Dim ds As List(Of String) = DataTables("考勤表").SQLGetValues("编号+','+format(打卡时间,'yyyy-MM-dd')")
For Each s As String In ds
    Dim s1() As String = s.Split(",")
    Dim r1 As Row = Tables("统计").AddNew
    r1("编号") = s1(0)
    Dim d As Date = cdate(s1(1))
    r1("打卡时间") = s1(1)
    r1("打卡时段") = DataTables考勤表").SQLGetComboListString("format(打卡时间,'HH:mm')","编号='" & s1(0) & "' And 打卡时间 >= #" & d & "# And 打卡时间<#" & d.AddDays(1) & "#").replace("|"," ")
Next
以上代码统计后台全部记录
我想要实现用当前窗体经过SQLtable经过筛选出来的数据进行统计(比如用窗体筛选“张三”2019年6月1日的考勤记录),要怎么写


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106315 积分:540710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/8 22:58:00 [只看该作者]

比如:
dim d as date = #2019-06-01#
DataTables("窗口1_Table1").LoadFilter = "名称='张三' and 打卡时间 >= '" & d &"' and 打卡时间 < '" & d.adddays(1) & "'"
DataTables("窗口1_Table1").Load


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


加好友 发短信
等级:小狐 帖子:363 积分:3460 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2019/7/8 23:32:00 [只看该作者]

蓝老师,想要用筛选出来的结果进行统计,而上述的代码直接统计后台数据库全部记录,SQLGetValues改为GetValues也不行,提示“Cannot find column 编号+'.”

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106315 积分:540710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/8 23:49:00 [只看该作者]

dim d as date = #2019-06-01#
Dim ds As List(Of String) = DataTables("考勤表").SQLGetValues("编号+','+format(打卡时间,'yyyy-MM-dd')","名称='张三' and 打卡时间 >= '" & d &"' and 打卡时间 < '" & d.adddays(1) & "'")

 回到顶部