以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  合计行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=96422)

--  作者:llh0824
--  发布时间:2017/2/20 16:26:00
--  合计行
请教一下,如何实现
图片点击可在新窗口打开查看此主题相关图片如下:1.bmp
图片点击可在新窗口打开查看
根据单据编号和物料代码,求总数,并先表中最后一行显示总数,效果如图
--  作者:有点蓝
--  发布时间:2017/2/20 18:06:00
--  
先获取不重复的单据编号和物料代码,然后循环统计,赋值到主键最大的行中


--  作者:有点色
--  发布时间:2017/2/20 18:08:00
--  

 用流水账吧。

 

http://www.foxtable.com/webhelp/scr/1572.htm

 


--  作者:llh0824
--  发布时间:2017/2/21 8:02:00
--  
我这张表是查询出来的表,不是加载数据库的表,改怎么弄
--  作者:有点蓝
--  发布时间:2017/2/21 9:11:00
--  
上传实例测试
--  作者:有点色
--  发布时间:2017/2/21 9:45:00
--  

生成后,写代码

 

Dim t As Table = Tables("查询表")
For Each dr As Row In t.Rows  
    Dim Val1 As Double = 0
    For i As Integer = 0 To dr.Index
        If t.Rows(i)("物料代码") = dr("物料代码") AndAlso t.Rows(i)("单据编号") = dr("单据编号") Then
            val1 += t.rows(i)("数量")
        End If
    Next
    dr("总数") = Val1
Next


--  作者:llh0824
--  发布时间:2017/2/21 10:31:00
--  
再请教一下,只在每个物料的最后一行显示总数其他的为空,该怎么实现
[此贴子已经被作者于2017/2/21 10:31:00编辑过]

--  作者:有点蓝
--  发布时间:2017/2/21 11:08:00
--  
Dim t As Table = Tables("查询表")
Dim r As Row
Dim sum As Integer = 0
For i As Integer = 1 To t.Rows.Count - 1
    r  = t.Rows(i-1)
    Dim r2 As Row = t.Rows(i)
    If r("物料代码") = r2("物料代码") AndAlso r("单据编号") = r2("单据编号") Then
        sum += r("数量")
    Else
        r("总数") = sum + r("数量")
        sum = 0
    End If
Next
r  = t.Rows(t.Rows.Count - 1)
r("总数") = sum + r("数量")
    

--  作者:llh0824
--  发布时间:2017/2/21 15:43:00
--  
为什么r(“数量”)值就是一个字符串“数量”
--  作者:有点色
--  发布时间:2017/2/21 16:05:00
--  

 你执行了什么代码?8楼代码没问题。

 

 有问题,单独做一个项目发上来看看。