以文本方式查看主题

-  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=139842)

--  作者:leoli
--  发布时间:2019/8/22 20:48:00
--  [求助] 分数加总

 

 

你好,我想把表C 以列名 姓名相同的进行分数加总。满足条件 姓名相同,列名 课目中不包含语文,列名 标注中不包含 AA 的其它所有记录进行分数加总。

谢谢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分数加总.foxdb


--  作者:有点蓝
--  发布时间:2019/8/23 9:04:00
--  
参考:http://www.foxtable.com/webhelp/topics/1454.htm

例如

If e.DataCol.Name = "姓名" Then .
    e.DataRow("总分") = DataTables("表C").Compute("Sum(分数)","[姓名] = \'" & e.NewValue & "\' and 课目 <> \'语文\' and 标注 <> \'AA\'")
End If
[此贴子已经被作者于2019/8/23 9:06:01编辑过]

--  作者:leoli
--  发布时间:2019/8/23 23:03:00
--  

你好,有问题,请帮忙看一下


--  作者:leoli
--  发布时间:2019/8/23 23:03:00
--  

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

--  作者:有点蓝
--  发布时间:2019/8/23 23:15:00
--  
每个事件都有其参数和用法:http://www.foxtable.com/webhelp/topics/0604.htm

不是随便找个代码随便找个事件就可以用的。比如按钮事件是没有e.datacol这种东西的。

请认真看2楼的帮助,帮助提供的代码基本都有说明在什么事件里写什么代码的

--  作者:leoli
--  发布时间:2019/8/23 23:38:00
--  

可以帮忙看一下错在哪儿吗 ? 结果加总不对,把黄色的拿掉,结果就对了。

 

 

DataTables("表A").datarows.clear

For Each s As String In DataTables("表C").GetValues("姓名","姓名>\'\'")

    Dim dr As DataRow = DataTables("表A").AddNew
    dr("姓名") = s
    dr("总分")=  DataTables("表C").compute("sum(分数)" ," 姓名=\'" & s & "\' and 课目 not in (\'语文\') and 标注 not in (\'AA\') ")
Next

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分数加总.foxdb


--  作者:有点蓝
--  发布时间:2019/8/24 8:45:00
--  
dr("总分")=  DataTables("表C").compute("sum(分数)" ," 姓名=\'" & s & "\' and (课目 not in (\'语文\') or 标注 not in (\'AA\')) ")
--  作者:leoli
--  发布时间:2019/8/24 9:45:00
--  
你好,这结果还是不对,请查看一下。谢谢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分数加总.foxdb


--  作者:有点蓝
--  发布时间:2019/8/24 9:58:00
--  
dr("总分")=  DataTables("表C").compute("sum(分数)" ," 姓名=\'" & s & "\' and (课目 not in (\'语文\') or 课目 is null) and (标注 not in (\'AA\') or 标注 is null)")