以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多表汇总问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10143)

--  作者:肖金亮
--  发布时间:2011/5/23 10:44:00
--  多表汇总问题

又来麻烦大家了,我有个多表数据库如附件图片,数据表我也有上传,

请大家帮帮忙我想实现如附件图片库存汇总表效果,这个问题我都头疼1周了,希望高人能帮帮忙,小弟在线等候!


图片点击可在新窗口打开查看此主题相关图片如下:表.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试表.table


--  作者:czy
--  发布时间:2011/5/23 11:39:00
--  

进货、销售、退货数量及库存数据计算可以这样:

 

For Each dr As DataRow In DataTables("库存清单").DataRows
    Dim sum1,sum2,sum3 As Integer
    Dim dr1 As DataRow = DataTables("进货单").Find("型号 = \'" & dr("型号") & "\'")
    If dr1 IsNot Nothing Then
        sum1 = DataTables("进货单").Compute("Sum(数量)","型号 = \'" & dr("型号") & "\'")
        dr("进货_数量") = sum1
    End If
    Dim dr2 As DataRow = DataTables("销售单").Find("型号 = \'" & dr("型号") & "\'")
    If dr2 IsNot Nothing Then
        sum2 = DataTables("销售单").Compute("Sum(数量)","型号 = \'" & dr("型号") & "\'")
        dr("销售_数量") = sum2
    End If
    Dim dr3 As DataRow = DataTables("退货单").Find("型号 = \'" & dr("型号") & "\'")
    If dr3 IsNot Nothing Then
        sum3 = DataTables("退货单").Compute("Sum(数量)","型号 = \'" & dr("型号") & "\'")
        dr("退货_数量") = sum3
    End If
    dr("库存_数量") = sum1-sum2-sum3
Next

 

单价不知道怎么弄

假如某个物品销售不止一次,且销售价格不一,此时的销售价格怎么算?是按平均算还是……?


--  作者:mr725
--  发布时间:2011/5/23 11:44:00
--  

这位楼主的提问方式只得推广····  让人一看就明白了。。。。


--  作者:blackzhu
--  发布时间:2011/5/23 11:53:00
--  
用关联要不要简单一点.
--  作者:狐狸爸爸
--  发布时间:2011/5/23 12:37:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目26.table


--  作者:肖金亮
--  发布时间:2011/5/23 12:52:00
--  

对 是按平均~!我库存表的数据删掉后测试你的代码,结果没有数据,感觉有问题。不能自动显示,还请帮忙再测试下!


--  作者:肖金亮
--  发布时间:2011/5/23 13:14:00
--  

因为进货单、销售单、退货单,都会不断录入数据,能否用SELECT语句自动生成库存汇总表,不用在去做修改!


--  作者:狐狸爸爸
--  发布时间:2011/5/23 13:33:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目29.table


--  作者:zhaotao
--  发布时间:2011/5/23 13:38:00
--  
狐爸:你的代码简单明白,让我等不懂代码的人也感受到编程的乐趣!有个问题想请教:就是统计的速度,如果数据表都超过20万条记录的话速度如何?
--  作者:狐狸爸爸
--  发布时间:2011/5/23 13:39:00
--  

超过20万条都不适合载入foxtable的,用SQLGroupTableBuilder或者SQLCrossTableBuilder,这两个可以在后台进行多表统计。

或者自己写Select语句统计。

[此贴子已经被作者于2011-5-23 13:39:12编辑过]