以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教汇总函数GroupTableBuilder...Filter条件表达式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1861)

--  作者:菜鸟foxtable
--  发布时间:2009/2/18 15:07:00
--  请教汇总函数GroupTableBuilder...Filter条件表达式
New GroupTableBuilder(TableName, SourceDataTable, Filter)

其中Filter是表达式....

比如:某列= ??

问题一:如何根据子窗口中CheckListBox的选项动态添加?


图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看

选择01则
某列= 01
选择02则
某列=01,02

问题二:

此表达式假如是某列=01 or 某列=02

数据会重复计算.......应该如何表达才能不重复
[此贴子已经被作者于2009-2-18 16:52:34编辑过]

--  作者:czy
--  发布时间:2009/2/18 15:38:00
--  

在TextChanged事件中设置这样的代码行不行?

Tables("表A").Current("某列") = e.Sender.Value


--  作者:菜鸟foxtable
--  发布时间:2009/2/18 16:12:00
--  
图片点击可在新窗口打开查看您没明白我的意思...
如下面的代码...

Dim g As New GroupTableBuilder(统计表1, DataTables(某表), "[客户] = 01")
g.Groups.AddDef("项目")
g.Groups.AddDef("规格")
g.Groups.AddDef("单位")
g.Groups.AddDef("单价")
g.Totals.AddDef("用量")
g.Build()
MainTable = Tables("统计表1")

我要统计一部分数据.....这部分数据由CheckListBox选项决定....

选择01和02时

点击某按钮就统计客户=01和02的所有订单不同项目的统计总量...

另外这个表达式应该怎么写?客户包括了01,02

我用or连接数据重复统计...比如[客户] = 01 or [客户] = 02
[此贴子已经被作者于2009-2-18 16:32:11编辑过]

--  作者:don
--  发布时间:2009/2/18 16:41:00
--  
Dim T As String
T = e.Form.Controls("CheckedComboBox1").value
T = "[客户] =" & T.Replace(","," or [客户] = "
If T isNot Nothing Then
     Dim g As New GroupTableBuilder(统计表1, DataTables(某表), T)
     g.Groups.AddDef("项目")
     g.Groups.AddDef("规格")
     g.Groups.AddDef("单位")
     g.Groups.AddDef("单价")
     g.Totals.AddDef("用量")
     g.Build()
     MainTable = Tables("统计表1")
End if

--  作者:菜鸟foxtable
--  发布时间:2009/2/18 16:47:00
--  

don大哥,用or是不行的.....统计出来的数据会重复计算....与SQL的select....from....where后面跟着的or不一样...

我主要是搞不明白这里的表达式应该用什么连接....

看来要用select....from....where 客户=01 or 客户=02生成一个临时表,再用上面的代码进行统计了....

[此贴子已经被作者于2009-2-18 16:48:41编辑过]

--  作者:don
--  发布时间:2009/2/18 17:03:00
--  
以下是引用菜鸟foxtable在2009-2-18 16:47:00的发言:

don大哥,用or是不行的.....统计出来的数据会重复计算....与SQL的select....from....where后面跟着的or不一样...

我主要是搞不明白这里的表达式应该用什么连接....

看来要用select....from....where 客户=01 or 客户=02生成一个临时表,再用上面的代码进行统计了....

[此贴子已经被作者于2009-2-18 16:48:41编辑过]
以下是引用菜鸟foxtable在2009-2-18 16:12:00的发言:
图片点击可在新窗口打开查看您没明白我的意思...
如下面的代码..

我用or连接数据重复统计...比如[客户] = 01 or [客户] = 02
[此贴子已经被作者于2009-2-18 16:32:11编辑过]
晕!这不是您说的吗?
--  作者:菜鸟foxtable
--  发布时间:2009/2/18 19:43:00
--  
以下是引用don在2009-2-18 17:03:00的发言:
晕!这不是您说的吗?

我原本也以为这里的or跟Select的or是一样效果,谁知不是...