以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  统计多列姓名对应的金额之和  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=193535)

--  作者:nxdx112
--  发布时间:2024/9/24 8:41:00
--  统计多列姓名对应的金额之和
在同一个表中。有多列姓名,金额。(不一样多)然后在此表的最后,统计按照给定的姓名,前面出现姓名对应的金额之和。(不管姓名是否重复)找了半天没有找到这样的例子。

此主题相关图片如下:360截图20240924084225626.jpg
" target="_blank" >" border="0" alt="按此在新窗口浏览图片" />
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目2.foxdb
   
统计给定的姓名,的金额之和。未给定姓名不管



[此贴子已经被作者于2024/9/24 9:43:53编辑过]

--  作者:有点蓝
--  发布时间:2024/9/24 8:46:00
--  
这种只能逐行逐列遍历所有单元格,逐个累加。具体请上传实例说明
--  作者:nxdx112
--  发布时间:2024/9/24 9:45:00
--  
已上传,恳求写一下遍历代码
--  作者:有点蓝
--  发布时间:2024/9/24 9:55:00
--  
Dim dict As New Dictionary(Of String, Double)
For Each c As Col In Tables("收入之和").Cols
    If c.Name.StartsWith("月总收入_") = False AndAlso c.Name.Contains("_姓名") Then
        For Each r As Row In Tables("收入之和").Rows
            If r.IsNull(c.Name) = False Then
                If dict.ContainsKey(r(c.Name)) Then
                    dict(r(c.Name)) = dict(r(c.Name)) + r(c.Name.Replace("姓名", "金额"))
                Else
                    dict.Add(r(c.Name), r(c.Name.Replace("姓名", "金额")))
                End If
            End If
        Next 
    End If 
Next

For Each key As String In dict.Keys
    Output.Show(key & "=" & dict(key))
Next 

--  作者:nxdx112
--  发布时间:2024/9/24 10:11:00
--  
代码应该放在哪里面呢?放在  DataColChanged  和按钮 里都不执行
[此贴子已经被作者于2024/9/24 10:24:48编辑过]

--  作者:有点蓝
--  发布时间:2024/9/24 10:30:00
--  
放到按钮。生成的结果我没有放到表格里。看懂代码,自己改改
--  作者:nxdx112
--  发布时间:2024/9/24 10:47:00
--  
着实是幼儿园的水平,不会变通,恳请能帮助一下,让能执行、两个月内不再提问,麻烦老师?
--  作者:有点蓝
--  发布时间:2024/9/24 11:57:00
--  
那就学一下基础:http://www.foxtable.com/webhelp/topics/0207.htm
--  作者:nxdx112
--  发布时间:2024/9/24 14:06:00
--  
是的,我看了快两遍了,基本的修改,照搬还行,只能照猫画虎,稍微一复杂就怎么也修改不了。往往一处修改弄半天也达不到效果。自己不是拿来主义,确实是水平达不到,有哪位大师帮个帮。
--  作者:狐狸爸爸
--  发布时间:2024/9/24 14:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目493.foxdb