以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求问下众高手,怎么把几个不同订单的明细合并到一起,然后相同产品的行数量合并呢?已经把例子发上来了  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30330)

--  作者:iswear512
--  发布时间:2013/3/26 9:44:00
--  求问下众高手,怎么把几个不同订单的明细合并到一起,然后相同产品的行数量合并呢?已经把例子发上来了
是这样的   
比如说“表A”内有三个订单的不同明细,然后这些明细的“产品内容”很多是一样的,只是“数量”不一样 
怎么样才能把产品名称相同的合并起来,且“数量”相加呢

用代码可以嘛?
我需要对那个    已经合并过的表进行下一步操作的 ..


最新情况 :
谢谢e-png前辈帮我做的修改。对原始数据表操作的话,e-png前辈的办法是足够用的很了。
但请问下:
如果数据来源表是在窗口中的副本表,且已经经过了筛选
那该怎么办到这个事呢
我试了下CrossTableBuilder似乎只支持datatables

我新做了一个例子看看

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1新.zip

[此贴子已经被作者于2013-3-26 16:11:07编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/3/26 9:49:00
--  

为啥要分开录入,录入的时候,订单明细中一个产品一条记录就行啊。

如果你已经有这样的数据需要合并处理,你可以做个例子发上来,输入几行测试数据,我们帮你写个代码,以后你照着做就行。


--  作者:iswear512
--  发布时间:2013/3/26 10:13:00
--  
嗯 我做个例子上来吧  


--  作者:iswear512
--  发布时间:2013/3/26 10:35:00
--  
以下是引用狐狸爸爸在2013-3-26 9:49:00的发言:

为啥要分开录入,录入的时候,订单明细中一个产品一条记录就行啊。

如果你已经有这样的数据需要合并处理,你可以做个例子发上来,输入几行测试数据,我们帮你写个代码,以后你照着做就行。


已添加例子了,谢谢啦

[此贴子已经被作者于2013-3-26 10:35:04编辑过]

--  作者:iswear512
--  发布时间:2013/3/26 12:25:00
--  
顶一下
--  作者:e-png
--  发布时间:2013/3/26 13:19:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:iswear512
--  发布时间:2013/3/26 15:56:00
--  
谢谢e-png前辈帮我做的修改。
但请问下:
如果数据来源表是在窗口中的副本表,且已经经过了筛选
那该怎么办到这个事呢
我试了下CrossTableBuilder似乎只支持datatables

我新做了一个例子看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1新.zip


[此贴子已经被作者于2013-3-26 16:09:07编辑过]

--  作者:iswear512
--  发布时间:2013/3/26 17:02:00
--  
顶一下。
--  作者:iswear512
--  发布时间:2013/3/26 20:01:00
--  
以下是引用muhua在2013-3-26 17:32:00的发言:
 下载信息  [文件大小:300.0 KB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.1.table


这个  还是对原始数据表做处理阿 
可是我是需要对一个已经过筛选的,窗口中的表进行处理  


--  作者:e-png
--  发布时间:2013/3/26 20:18:00
--  

这样试试:

Forms("测试窗口").open()
Dim g As New GroupTableBuilder("统计表1", Tables("已筛选过的表_Table1").DataTable)
g.Groups.AddDef("订单编号")
g.Groups.AddDef("产品名称")
g.Groups.AddDef("规格")
g.Totals.AddDef("数量")
Tables("测试窗口_Table1").DataSource = g.Build()