以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教SQLtable的统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=137534)

--  作者:wakai
--  发布时间:2019/7/8 22:38:00
--  请教SQLtable的统计
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日的考勤记录),要怎么写


--  作者:有点蓝
--  发布时间: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
--  发布时间:2019/7/8 23:32:00
--  
蓝老师,想要用筛选出来的结果进行统计,而上述的代码直接统计后台数据库全部记录,SQLGetValues改为GetValues也不行,提示“Cannot find column 编号+\'.”
--  作者:有点蓝
--  发布时间: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) & "\'")