Foxtable(狐表)用户栏目专家坐堂 → 数据表的竖向计算


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

主题:数据表的竖向计算

美女呀,在线,快来找我吧!
朱女士
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:421 积分:3473 威望:0 精华:0 注册:2020/2/8 11:14:00
数据表的竖向计算  发帖心情 Post By:2020/9/30 11:00:00 [只看该作者]

老师您好!

   我要有一个计算表,属于跨表计算,有15个客户,由于计算内容多,需要将表竖起来计算,所以我将客户名作为列名,将每一个计算内容为一行,有68行,我的计算公式没有问题,自己能写,就是用通用代码怎么将数据写入每一行中,不会循环。我下面计算了两行,第二行hs(2) 是不对的。麻烦给予指教!

Dim hs(68) As Double
Dim je1,je2 As Double
For Each nm As String In DataTables("ddpsb").GetValues("客户")
 Dim dr As DataRow = DataTables("ddpsb").find("客户='" & nm & "'")

For Each r As Row In Tables("盈亏计算总表").rows
   
    Dim xm As String = r("项目名称")

  hs(1)=DataTables("ddpsb").Compute("Sum(净重)", "[发货日期]<= #" & dt3 & "# and [客户]='" & nm & "'And 发货日期 Is Not null")

  je1=DataTables("ddpsb").Compute("Sum(含税金额)", "[发货日期]<= #" & dt3 & "# and [客户]='" & nm & "'And 发货日期 Is Not null")
  je1=DataTables("ddpsb").Compute("Sum(不开piao金额)", "[发货日期]<= #" & dt3 & "# and [客户]='" & nm & "'And 发货日期 Is Not null")
hs(2)=je1+je2

If xm="累计总产量"  
 r(nm)=hs(1)
End If
If xm="累计总产值"  
r(nm)=hs(2)
End If
Next 
Next   


图片点击可在新窗口打开查看此主题相关图片如下:盈亏表.png
图片点击可在新窗口打开查看

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


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

上实例,应该有更好的方法

 回到顶部
美女呀,在线,快来找我吧!
朱女士
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:421 积分:3473 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2020/9/30 11:28:00 [只看该作者]

因为每一行一个公式,本人迷茫,请指教!

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


加好友 发短信
等级:超级版主 帖子:106046 积分:539323 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/30 11:31:00 [只看该作者]

请上传实例说明

 回到顶部
美女呀,在线,快来找我吧!
朱女士
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:421 积分:3473 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2020/9/30 11:43:00 [只看该作者]

我没写完,就写了两行就卡这里了。

以下是计算部分

Dim hs(68) As Double
Dim je1,je2 As Double
For Each nm As String In DataTables("ddpsb").GetValues("客户")
 Dim dr As DataRow = DataTables("ddpsb").find("客户='" & nm & "'")

For Each r As Row In Tables("盈亏计算总表").rows
   
    Dim xm As String = r("项目名称")

  hs(1)=DataTables("ddpsb").Compute("Sum(净重)", "[发货日期]<= #" & dt3 & "# and [客户]='" & nm & "'And 发货日期 Is Not null")

  je1=DataTables("ddpsb").Compute("Sum(含税金额)", "[发货日期]<= #" & dt3 & "# and [客户]='" & nm & "'And 发货日期 Is Not null")
  je1=DataTables("ddpsb").Compute("Sum(不开piao金额)", "[发货日期]<= #" & dt3 & "# and [客户]='" & nm & "'And 发货日期 Is Not null")
hs(2)=je1+je2

If xm="累计总产量"  
 r(nm)=hs(1)
End If
If xm="累计总产值"  
r(nm)=hs(2)
End If
Next 
Next   
MainTable= Tables("盈亏计算总表")


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


加好友 发短信
等级:超级版主 帖子:106046 积分:539323 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/30 11:48:00 [只看该作者]

不知道这些表表结构、表数据都是怎么样的,所以看不懂这些代码,请上传实例说明

 回到顶部
美女呀,在线,快来找我吧!
朱女士
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:421 积分:3473 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2020/9/30 15:51:00 [只看该作者]

这是我的ddpsb结构,我要计算的表是盈亏表。
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:盈亏表.png
图片点击可在新窗口打开查看

 回到顶部
美女呀,在线,快来找我吧!
朱女士
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:421 积分:3473 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2020/9/30 15:53:00 [只看该作者]

累计数和选取月份的数据。总产量是净重之和,总产值是含税金额和不开piao金额之和。

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


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

ddpsb表数据和这些项目名称有什么关系?还是说只需要计算累计总产量和累计总产值2个项目?

 回到顶部
美女呀,在线,快来找我吧!
朱女士
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:421 积分:3473 威望:0 精华:0 注册:2020/2/8 11:14:00
  发帖心情 Post By:2020/9/30 17:01:00 [只看该作者]

累计总产量就是ddpsb中的净重总和,累计总产值就是ddpsb 的含税金额和不开piao金额的累计值。其他项目还有其他表的数据计算而来,您就给我解决这两行数据就行,我可以依次类推算。


 回到顶部
总数 11 1 2 下一页