以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于本周统计代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127416)

--  作者:动检
--  发布时间:2018/11/13 16:51:00
--  关于本周统计代码

参照过下面帮助里的代码来统计本周的数据,但是不知道怎么运用到自己的代码里面去

Dim y As Integer = Date.Today.Year
Dim 
w As Integer = Date.Today.DayOfWeek \'算出今天是星期几
Dim 
dt1 As Date = Date.Today.AddDays(-w\'获取本周的第一天
Dim 
dt2 As Date = Date.Today.AddDays(6 - w\'获取本周的最后一天
Dim 
Filter As String
Filter
 = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables(
"订单").Filter = Filter




以下是自己写的一段代码 请问下需要怎么改正?(通过检测日期来选出近期一周的数据)

b.Groups.AddDef("检测日期",DateGroupEnum.AddDays(-w)—AddDays(6 - w)  ,"本周")



--  作者:有点甜
--  发布时间:2018/11/13 17:50:00
--  

直接写,如

 

b.filter = "日期 >= #" & date.today.adddays(-6) & "#"

 

如果是查本周,可以这样写

 

b.Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"


--  作者:动检
--  发布时间:2018/11/14 10:15:00
--  

后来我这样写进去了 但是提示错误 错误代码是Object reference not set to an instance of an object.

以下是我的全部代码

Dim b As New SQLGroupTableBuilder("统计表1","检测报告")

Dim d1 As Date = Date.Today

Dim year As Integer = d1.Year

Dim month As Integer = d1.Month

 

b.filter="检测日期>=#"&date.today.adddays(-6)&"#"

b.Totals.AddExp("样品数量","实验室编号","",AggregateEnum.Count) \'统计人数

Dim nms() As String = {"检测项目_蓝耳PRRS_判定","检测项目_猪瘟CSFV_判定","检测项目_猪伪狂犬gB_判定","检测项目_猪伪狂犬gE_判定","检测项目_猪圆环病毒_判定"}

For Each nm As String In nms \'利用表达式统计及格人数和优秀人数

    b.Totals.Addexp(nm & "_阳性""iif(" &  nm & " = \'P\', 1, 0)")

    b.Totals.Addexp(nm & "_可疑""iif(" &  nm & " = \'S\', 1, 0)")

Next

b.VerticalTotal = True

b.Build()

For Each nm As String In nms \'对生成的统计表增加表达式列,计算及格率和优秀率

    DataTables("统计表1").DataCols.Add(nm & "_阳性率",Gettype(Double), nm & "_阳性/样品数量" )

    Tables("统计表1").Cols(nm & "_阳性率").Move(Tables("统计表1").Cols(nm & "_阳性").Index + 1)

    DataTables("统计表1").DataCols.Add(nm & "_可疑率",Gettype(Double), nm & "_可疑/样品数量" )

    Tables("统计表1").Cols(nm & "_可疑率").Move(Tables("统计表1").Cols(nm & "_可疑").Index + 1)

    DataTables("统计表1").DataCols(nm & "_阳性率").SetFormat("0.00%")

    DataTables("统计表1").DataCols(nm & "_可疑率").SetFormat("0.00%")

   

Next

MainTable = Tables("统计表1")

 

MainTable = Tables("统计表1")

 

Forms("返回").OpenTo("统计表1")

 

MainTable.Focus()


--  作者:有点甜
--  发布时间:2018/11/14 10:17:00
--  
具体实例发上来测试。