Foxtable(狐表)用户栏目专家坐堂 → 求代码


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

主题:求代码

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


加好友 发短信
等级:一尾狐 帖子:408 积分:3642 威望:0 精华:0 注册:2017/4/8 8:59:00
求代码  发帖心情 Post By:2018/7/21 9:48:00 [只看该作者]

表A的一个单元格数据要自动填。来源是表A的另一列数据的累计(合计数)

 

区域1 :列:项目分类1   完工金额总计      (项目分类1列的记录不重复是唯一的)

 

区域2:列:项目分类2   已完工金额  品名(品名中有品种1、品种2)     (项目分类2内容、品名都有重复,相当于明细)

 

在同一表中 ,条件是:完工金额总计=从区域2列找出所有同区域1中的项目分类名称相同的名称行并且品名=品种1的所有金额汇总数

 

这代码有点难,求代码

 


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105961 积分:538880 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/21 10:00:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/scr/1454.htm

帮助是跨表,也可以同表统计,方法一样

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


加好友 发短信
等级:一尾狐 帖子:408 积分:3642 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2018/7/21 11:00:00 [只看该作者]

If e.DataCol.Name = "已完工金额" Then '发生变化的是产品列.
    '则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列
    e.DataRow("品种1完工金额总计") = DataTables("表A").Compute("Sum(已完工金额)","[项目分类2] = '" & e.NewValue & "'" and  "[品名] =“品种1”)

    e.DataRow("品种2完工金额总计") = DataTables("表A").Compute("Sum(已完工金额)","[项目分类2] = '" & e.NewValue & "'" and  "[品名] =“品种2”)

End If

 

老师,参照这全代码还是不行

 

表是这样的:

     项目分类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编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105961 积分:538880 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:408 积分:3642 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2018/7/21 12:32:00 [只看该作者]

.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.7.9.1
错误所在事件:表,pzk, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“[项目分类2] = ''”到类型“Long”的转换无效。
输入字符串的格式不正确。

[此贴子已经被作者于2018/7/21 12:38:22编辑过]

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


加好友 发短信
等级:一尾狐 帖子:408 积分:3642 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2018/7/21 13:28:00 [只看该作者]

修改来修改去,提示是没了,但是数据出不来,我觉得是不是要用到find,重置列有变化时,先在项目分类1中找到相同的项目名称?然后按这个项目名称对项目2对应的金额进行汇总,再把汇总数填到对应在项目中去?就是代码不知道如何写了

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


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/7/21 13:49:00 [只看该作者]

为何就不上个例子呢

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


加好友 发短信
等级:一尾狐 帖子:408 积分:3642 威望:0 精华:0 注册:2017/4/8 8:59:00
  发帖心情 Post By:2018/7/21 14:04:00 [只看该作者]

老师,解决了,谢谢。标点符号错了。还有是& e.DataRow("项目分类2") & "'" And  "[品名] ="品种1")   项目分类要修改成1

 回到顶部