Foxtable(狐表)用户栏目专家坐堂 → [求助]同列单元格相加的代码或表达式


  共有3503人关注过本帖树形打印复制链接

主题:[求助]同列单元格相加的代码或表达式

帅哥哟,离线,有人找我吗?
lidusan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1201 威望:0 精华:0 注册:2015/8/10 22:49:00
[求助]同列单元格相加的代码或表达式  发帖心情 Post By:2015/10/29 19:48:00 [只看该作者]

各位老师请教一个单元格B1=B5+B8的计算代码或表达式,我知道狐表是数据库表,不是电子表格,看到狐表能做到很复杂的计算和统计,很是惊喜,只是帮助文件还没有看透所以先请老师做个范例代码学习一下,最好能附上注释便于理解。先谢谢各位导师.附图:

A B  C  d
   1   李四     请教如何获取B1=B5+B8的值   
  2   张三      B2的值=B6  
   3   王二     B3的值=B7+B9   
   4           
   5   李四  9       
   6   张三 6        
   7   王二 4       
  8    李四媳妇   3      
   9   小王  8       

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 19:59:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目19.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
lidusan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1201 威望:0 精华:0 注册:2015/8/10 22:49:00
  发帖心情 Post By:2015/10/29 20:09:00 [只看该作者]

谢谢大师.我打不开.我用的是商业版的.请大红袍版主贴代码或改一下版本.再次感谢!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 20:51:00 [只看该作者]

DataColChanged事件

 

Select Case e.DataCol.Name
    Case "第二列"
        Dim sum As Double = e.DataTable.Compute("sum(第二列)", "第一列 like '%" & e.DataRow("第一列") & "%'")
        e.DataTable.ReplaceFor("第三列", sum, "第一列 like '%" & e.DataRow("第一列") & "%'")
    Case "第一列"
        Dim sum As Double = e.DataTable.Compute("sum(第二列)", "第一列 like '%" & e.DataRow("第一列") & "%'")
        e.DataTable.ReplaceFor("第三列", sum, "第一列 like '%" & e.DataRow("第一列") & "%'")
        e.DataTable.DataCols("第二列").RaiseDataColChanged("第一列 like '%" & e.OldValue & "%'")
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
lidusan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1201 威望:0 精华:0 注册:2015/8/10 22:49:00
  发帖心情 Post By:2015/10/29 21:07:00 [只看该作者]

很抱歉又要打扰您,放入代码后报错了。不知道是不是我版本的问题?
.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.11.11.1
错误所在事件:表,表A,DataColChanged
详细错误信息:
调用的目标发生了异常。
无效的聚合函数 Sum()和类型 String 的用法。


 回到顶部
帅哥哟,离线,有人找我吗?
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:1916 威望:0 精华:0 注册:2014/8/24 13:36:00
  发帖心情 Post By:2015/10/29 21:10:00 [只看该作者]

你的Sum列不是数值列

 回到顶部
帅哥哟,离线,有人找我吗?
lidusan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1201 威望:0 精华:0 注册:2015/8/10 22:49:00
  发帖心情 Post By:2015/10/29 21:14:00 [只看该作者]

对不起,版主,是我没有将第二列设为数值型.所有报错了.谢谢您的帮助.

 回到顶部
帅哥哟,离线,有人找我吗?
lidusan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1201 威望:0 精华:0 注册:2015/8/10 22:49:00
  发帖心情 Post By:2015/10/29 21:59:00 [只看该作者]

我发现了一个问题,就是我在向第二列输入数据的时候,比如填写李四对应列的单元格时回车立即就汇总了,但是填写李四媳妇对应列的单元格时回车汇总行数据不会变化,需要先填写李四媳妇的数据再填写李四的数据时才能正确汇总.我把代码放在ChangeEdit里面报错:
编译错误:“DataCol”不是“ChangeEditEventArgs”的成员。



错误代码:Select Case e.DataCol.Name
望指导。谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/29 22:06:00 [只看该作者]

datacolchanged事件

 

Select Case e.DataCol.Name
    Case "第二列"
        Dim sum As Double = e.DataTable.Compute("sum(第二列)", "第一列 like '" & e.DataRow("第一列") & "%' or 第一列 like '" & e.DataRow("第一列").replace("媳妇", "") & "%'")
        e.DataTable.ReplaceFor("第三列", sum, "第一列 like '" & e.DataRow("第一列") & "%' or 第一列 like '" & e.DataRow("第一列").replace("媳妇", "") & "%'")
    Case "第一列"
        Dim sum As Double = e.DataTable.Compute("sum(第二列)", "第一列 like '" & e.DataRow("第一列") & "%' or 第一列 like '" & e.DataRow("第一列").replace("媳妇", "") & "%'")
        e.DataTable.ReplaceFor("第三列", sum, "第一列 like '" & e.DataRow("第一列") & "%' or 第一列 like '" & e.DataRow("第一列").replace("媳妇", "") & "%'")
        e.DataTable.DataCols("第二列").RaiseDataColChanged("第一列 like '" & e.oldvalue & "%' or 第一列 like '" & e.oldvalue.replace("媳妇", "") & "%'")
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
lidusan
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:105 积分:1201 威望:0 精华:0 注册:2015/8/10 22:49:00
  发帖心情 Post By:2015/10/30 8:59:00 [只看该作者]

非常感谢大红袍大师的悉心帮助,只是基础太差代码好多没看明白,好像是动态引用求和,我慢慢消化,再次表示感谢.

 回到顶部