以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  后台统计 条件设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95802)

--  作者:133198609
--  发布时间:2017/2/6 0:09:00
--  后台统计 条件设置
在设置后台统计的时候,筛选条件无法生效,如何解?
Dim nf As WinForm.TextBox = e.Form.Controls("TextBox1")
If nf.Value = "" OrElse nf.Value.Length <> 4 Then
    MessageBox.Show("请输入正确的统计年份!")
Else
    Dim g As New GroupTableBuilder("上年度统计", DataTables("订单明细"))
    g.Groups.AddDef("部门")
    g.Groups.AddDef("业务员")
    g.Groups.AddDef("产品类别")
    g.Groups.AddDef("产品名称")
    g.Totals.AddDef("数量")
    g.FromServer = True
    g.Filter = "[签约年份] = \'" & nf.Value & "\'"
    g.Build()
    MainTable = Tables("上年度统计")
End If

--  作者:有点色
--  发布时间:2017/2/6 9:34:00
--  

最后得到的,是没有数据,还是得到全部数据?

 

如果,没有数据,说明你设置的条件不正确。注意【签约年份】不能是表达式列,如果是数据列,要确认有满足条件的数据。


--  作者:133198609
--  发布时间:2017/2/6 10:18:00
--  
好吧,我那一列是表达式列!!我再研究研究。
--  作者:有点色
--  发布时间:2017/2/6 10:45:00
--  
以下是引用133198609在2017/2/6 10:18:00的发言:
好吧,我那一列是表达式列!!我再研究研究。

 

如果是表达式列。可以这样写条件,如

 

Dim d As Date = New Date(nf.Value, 1, 1)

g.Filter = "日期 >= #" & d & "# and 日期 < #" & d.AddDays(1) & "#"