Foxtable(狐表)用户栏目专家坐堂 → 求助统计公式


  共有12217人关注过本帖树形打印复制链接

主题:求助统计公式

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/2 11:37:00 [显示全部帖子]

何必呢?自己做个按钮,用交叉统计,代码为:

 

Dim g As New CrossTableBuilder("统计表1", DataTables("表A"))
g.HGroups.AddDef("产品")
g.VGroups.AddDef("日期", "日期_{0}月")
g.Totals.AddDef("金额", "单价")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()
MainTable = Tables("统计表1")

 

需要新的统计结果的时候,单击这个按钮即可生成一个新的表。

甚至不用写按钮,直接在交叉统计将设置保存下来,随时可以通过菜单调用.

 

如果要保持原表,你得付出代价,参考:

http://help.foxtable.com/topics/0681.htm

 

[此贴子已经被作者于2010-12-2 11:48:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/2 14:45:00 [显示全部帖子]

Dim pd  As String = e.Form.Controls("TextBox1").Value
Dim cr As String = e.Form.Controls("TextBox2").Value
Dim rq As Date = e.Form.Controls("DateTimePicker1").Value
Dim Filter As String = "产品 = '" & Pd  & "' And 颜色 = '" & cr & "' And 日期 = #" & rq & "#"
Dim dr As DataRow = DataTables("表A").Find(Filter)
If dr IsNot Nothing  Then
   Dim dr2 = Tables("查找表").AddNew()
   For Each dc As DataCol In DataTables("查找表").DataCols
       dr2(dc.name) = dr(dc.name)
   Next
End If

 

只是不明白为啥要这样打印,直接在表A打印不就行了吗?

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/2 15:31:00 [显示全部帖子]

你可以自己改的:

 

Dim pd  As String = e.Form.Controls("TextBox1").Value
Dim cr As String = e.Form.Controls("TextBox2").Value
Dim rq As Date = e.Form.Controls("DateTimePicker1").Value
Dim Filter As String 

if pd > "" then

   Filter =  "产品 = '" & Pd  & "'"

End If

If cr > "" Then

    if Filter > "" Then

       Filter = Filter & " And "

    End If

    Filter = "颜色 = '" & cr & "'“

End If

If rq > "1/1/1921" Then

    if Filter > "" Then

       Filter = Filter & " And "

    End If

  Filter = "日期 = #" & rq & "#“

End If

Dim dr As DataRow = DataTables("表A").Find(Filter)
If dr IsNot Nothing  Then
   Dim dr2 = Tables("查找表").AddNew()
   For Each dc As DataCol In DataTables("查找表").DataCols
       dr2(dc.name) = dr(dc.name)
   Next
End If

 

帮助提供了一个类似例子,你可以看看:

http://help.foxtable.com/topics/1058.htm
虽然帮助用的是筛选,不是查找,但是道理一样。

[此贴子已经被作者于2010-12-2 15:32:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/2 17:24:00 [显示全部帖子]

1、不同的问题要单独发帖提问,不要总是同一个帖子的后面跟帖。

2、请参考:

http://help.foxtable.com/topics/0008.htm

 

[此贴子已经被作者于2010-12-2 17:24:21编辑过]

 回到顶部