以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122230) |
-- 作者:nbsugu_z -- 发布时间:2018/7/21 9:48:00 -- 求代码 表A的一个单元格数据要自动填。来源是表A的另一列数据的累计(合计数)
区域1 :列:项目分类1 完工金额总计 (项目分类1列的记录不重复是唯一的)
区域2:列:项目分类2 已完工金额 品名(品名中有品种1、品种2) (项目分类2内容、品名都有重复,相当于明细)
在同一表中 ,条件是:完工金额总计=从区域2列找出所有同区域1中的项目分类名称相同的名称行并且品名=品种1的所有金额汇总数
这代码有点难,求代码
|
-- 作者:有点蓝 -- 发布时间:2018/7/21 10:00:00 -- 参考:http://www.foxtable.com/webhelp/scr/1454.htm 帮助是跨表,也可以同表统计,方法一样
|
-- 作者:nbsugu_z -- 发布时间:2018/7/21 11:00:00 -- If e.DataCol.Name = "已完工金额" Then \'发生变化的是产品列. e.DataRow("品种2完工金额总计") = DataTables("表A").Compute("Sum(已完工金额)","[项目分类2] = \'" & e.NewValue & "\'" and "[品名] =“品种2”)
老师,参照这全代码还是不行
表是这样的: 项目分类1 品种1完工总金额 品种2已完工金额 项目分类2 已完工金额 品种 项目1 项目2 项目1 200 品种2 项目2 50 品种1 项目1 200 品种2 项目2 100 品种1
以上要求第二、三列自动填数 ,项目分类1为空的不填。
[此贴子已经被作者于2018/7/21 11:01:55编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/7/21 11:09:00 -- 选中"已完工金额"列,重置列 If e.DataCol.Name = "已完工金额" OrElse e.DataCol.Name = "项目分类2" Then \'发生变化的是产品列. \'则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列 e.DataRow("品种1完工金额总计") = e.DataTable.Compute("Sum(已完工金额)","[项目分类2] = \'" & e.DataRow("项目分类2") & "\'" And "[品名] ="品种1") e.DataRow("品种2完工金额总计") = e.DataTable.Compute("Sum(已完工金额)","[项目分类2] = \'" & e.DataRow("项目分类2") & "\'" And "[品名] ="品种2") End If |
-- 作者:nbsugu_z -- 发布时间:2018/7/21 12:32:00 -- .NET Framework 版本:2.0.50727.5420 [此贴子已经被作者于2018/7/21 12:38:22编辑过]
|
-- 作者:nbsugu_z -- 发布时间:2018/7/21 13:28:00 -- 修改来修改去,提示是没了,但是数据出不来,我觉得是不是要用到find,重置列有变化时,先在项目分类1中找到相同的项目名称?然后按这个项目名称对项目2对应的金额进行汇总,再把汇总数填到对应在项目中去?就是代码不知道如何写了 |
-- 作者:y2287958 -- 发布时间:2018/7/21 13:49:00 -- 为何就不上个例子呢 |
-- 作者:nbsugu_z -- 发布时间:2018/7/21 14:04:00 -- 老师,解决了,谢谢。标点符号错了。还有是& e.DataRow("项目分类2") & "\'" And "[品名] ="品种1") 项目分类要修改成1 |