以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何引用求和的条件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=80582)

--  作者:zhangchi96
--  发布时间:2016/1/26 19:12:00
--  如何引用求和的条件

Dim sx1 As WinForm.ComboBox = e.Form.Controls("筛选1")
Dim sx2 As WinForm.ComboBox = e.Form.Controls("筛选2")
Dim sx3 As WinForm.ComboBox = e.Form.Controls("筛选3")

Dim 筛选项目求和 As Double = 0 

 If sx2.text = "大于" Then
       Filter = " " & sx1.text & " >  \'" & sx3.text & "\' "
 ElseIf sx2.text = "小于" Then
        Filter = " " & sx1.text & " <  \'" & sx3.text & "\' "
 ElseIf sx2.text = "等于" Then
        Filter = " " & sx1.text & " =  \'" & sx3.text & "\' "
 ElseIf sx2.text = "不小于" Then
        Filter = " " & sx1.text & " >=  \'" & sx3.text & "\' "
 ElseIf sx2.text = "不大于" Then
        Filter = " " & sx1.text & " <=  \'" & sx3.text & "\' "

end if

 

                For Each dr As Row In Tables("教职工信息表").Rows
                    If Filter Then
                       筛选项目求和 =  筛选项目求和 + 1

                    End If
                Next

红色的内容应该的本意是 当Filter为真时,请教高手如何叙述


--  作者:大红袍
--  发布时间:2016/1/26 21:54:00
--  

改成这样

 

dim f as string = iif(Tables("教职工信息表").filter > "", Tables("教职工信息表").filter, "1=1")
筛选项目求和 = DataTables("教职工信息表").Compute("count(姓名)", "(" & f & ") and " & filter)


--  作者:zhangchi96
--  发布时间:2016/1/26 22:43:00
--  

直接这样写不行吗?

 

筛选项目求和 = DataTables("教职工信息表").Compute("count(姓名)", filter)


--  作者:大红袍
--  发布时间:2016/1/27 0:14:00
--  

可以,但是如果你的Table是筛选状态,查到的数据会比你看到的要多一些(因为一些被你隐藏了)


--  作者:zhangchi96
--  发布时间:2016/1/29 23:30:00
--  

谢谢大红袍老师!