以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何分开统计?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176702)

--  作者:lgz518
--  发布时间:2022/4/23 15:17:00
--  如何分开统计?
如何分开统计?
需求是:表B象表A一样,可以按下面条件分别进行统计,按键事件:
1,按“日期,规格”,
2,按“日期,型号”,
3,按“日期,材质”,
4,按“日期,颜色”,


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


--  作者:有点蓝
--  发布时间:2022/4/23 16:03:00
--  
增加4个临时列,然后遍历所有行把数据拆分到临时列,再进行统计
--  作者:lgz518
--  发布时间:2022/4/23 16:36:00
--  
老师,下面是统计,您说“增加4个临时列,然后遍历所有行把数据拆分到临时列”这个如何实现,请您指教,谢谢?

Dim Filter As String
Dim b As New GroupTableBuilder("统计表1", DataTables("表B"))
b.Groups.AddDef("规格型号")
b.Totals.AddDef("数量", "订购数量") \'添加数量列用于统计
b.Filter = Filter 
Tables("分开统计_Table1").DataSource = b.BuildDataSource()

--  作者:有点蓝
--  发布时间:2022/4/23 16:43:00
--  
增加列参考:http://www.foxtable.com/webhelp/topics/1428.htm


拆分比如:
dim s as string = tables("表B").current("规格型号")
dim ssr() as string = s.split("/")
msgbox(ssr(0))
msgbox(ssr(1))

--  作者:lgz518
--  发布时间:2022/4/23 22:56:00
--  
DataTables("表B").DataCols.Add("规格", GetType(String))
DataTables("表B").DataCols.Add("型号", GetType(String))
DataTables("表B").DataCols.Add("材质", GetType(String))
DataTables("表B").DataCols.Add("颜色", GetType(String))

\'Dim s As String = Tables("表B").current("规格型号")
\'Dim ssr() As String = s.split("/")
\'    For i As Integer = 0 To ssr.length - 1
\'        e.DataRow(cs(i)) = ssr(i)
\'    Next
红字代码报错

--  作者:有点蓝
--  发布时间:2022/4/24 8:40:00
--  
Dim s As String = Tables("表B").current("规格型号")
Dim ssr() As String = s.split("/")
Tables("表B").current("规格") = ssr(0)
Tables("表B").current("型号") = ssr(1)



--  作者:lgz518
--  发布时间:2022/4/24 16:50:00
--  
Dim s As String = Tables("表B").current("规格型号")
Dim ssr() As String = s.split("/")
For i As Integer = 0 To ssr.length - 1
    
    Tables("表B").current("规格") = ssr(i)
    Tables("表B").current("型号") = ssr(i)
    Tables("表B").current("材质") = ssr(i)
    Tables("表B").current("颜色") = ssr(i)

Next

单击事件,上面执行一行,没有批量,如何实现批量?

--  作者:有点蓝
--  发布时间:2022/4/24 16:57:00
--  
遍历所有行参考:http://www.foxtable.com/webhelp/topics/0419.htm
--  作者:lgz518
--  发布时间:2022/4/24 17:44:00
--  
Dim s As String = Tables("表B").current("规格型号")
Dim ssr() As String = s.split("/")

\'With DataTables("订单")
\'    Tables("表B").current("规格") = ssr(0)
\'    Tables("表B").current("型号") = ssr(1)
\'    Tables("表B").current("材质") = ssr(2)
\'    Tables("表B").current("颜色") = ssr(3)
\'End With


\'Dim Sum As Integer
For Each dr As DataRow In DataTables("表B").DataRows
    Tables("表B").current("规格") = ssr(0)
    Tables("表B").current("型号") = ssr(1)
    Tables("表B").current("材质") = ssr(2)
    Tables("表B").current("颜色") = ssr(3)
Next

单击事件,上面执行一行,没有批量,如何实现批量?

--  作者:有点蓝
--  发布时间:2022/4/24 20:19:00
--  
For Each dr As DataRow In DataTables("表B").DataRows
Dim ssr() As String = dr("规格型号").split("/")
    dr("规格") = ssr(0)
    dr("型号") = ssr(1)
    dr("材质") = ssr(2)
    dr("颜色") = ssr(3)
Next