Foxtable(狐表)用户栏目专家坐堂 → 麻烦老师看下这个计算公式哪里错了?


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

主题:麻烦老师看下这个计算公式哪里错了?

帅哥哟,离线,有人找我吗?
初心不改再说未来
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3905 威望:0 精华:0 注册:2017/7/19 10:58:00
麻烦老师看下这个计算公式哪里错了?  发帖心情 Post By:2018/9/21 14:48:00 [只看该作者]

老师您好,计算代码我贴在2楼了

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


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

如图,我得出的娟娟老师,(假设提成表我都按照0.2(百分之20)计算的话)本月应得提成为总额的20%
就是语文3200+数学1800+英语5000+体育6800=总计16800元
假设提成表我都按照0.2(百分之20)计算的话
提成应该是16800*0.2=3360元
为啥我计算出来的提成是5720元呢?

核心代码应该是在这里
For Each r3  As Row In  t3.Rows
    v1=0
    For Each c1 As String In Lms
        dr2 = DataTables("设置").Find("课程 ='" & c1 & "'")
        If dr2 IsNot Nothing Then
            v1+ = r3(c1 & "总学费") * dr2("提成")*r3(c1)
        End If
    Next c1
    r3("提成总计金额")=v1
Next r3

百思不得其解······

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3905 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/21 14:49:00 [只看该作者]

完整代码:
Dim dr2 As DataRow
Dim Lms As String() ={"语文","数学","英语","体育"}


Dim bd1 As New GroupTableBuilder("统计",DataTables("表A"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("语文老师", "姓名")
bd1.Totals.AddDef("语文老师", AggregateEnum.Count, "语文")
bd1.Totals.AddDef("总学费", AggregateEnum.sum, "语文总学费")
dt1 = bd1.BuildDataSource()

bd1 = New GroupTableBuilder("统计",DataTables("表A"))
Dim dt2 As fxDataSource
bd1.Groups.AddDef("数学老师", "姓名")
bd1.Totals.AddDef("数学老师", AggregateEnum.Count, "数学")
bd1.Totals.AddDef("总学费", AggregateEnum.sum, "数学总学费")
dt2 = bd1.BuildDataSource()

bd1 = New GroupTableBuilder("统计",DataTables("表A"))
Dim dt3 As fxDataSource
bd1.Groups.AddDef("英语老师", "姓名")
bd1.Totals.AddDef("英语老师", AggregateEnum.Count, "英语")
bd1.Totals.AddDef("总学费", AggregateEnum.sum, "英语总学费")
dt3 = bd1.BuildDataSource()

bd1 = New GroupTableBuilder("统计",DataTables("表A"))
Dim dt4 As fxDataSource
bd1.Groups.AddDef("体育老师", "姓名")
bd1.Totals.AddDef("体育老师", AggregateEnum.Count, "体育")
bd1.Totals.AddDef("总学费", AggregateEnum.sum, "体育总学费")
dt4 = bd1.BuildDataSource()

dt1.Combine("姓名",dt2,"姓名")
dt1.Combine("姓名",dt3,"姓名")
dt1.Combine("姓名",dt4,"姓名")
Dim  t3 As Table = Tables("窗口1_Table1")
t3.DataSource = dt1 '将统计结果绑定到Table
t3.StopRedraw

With  t3.DataTable.DataCols  '
    .Add("提成总计金额",Gettype(Double))
    
End With
Dim v1 As Double

For Each r3  As Row In  t3.Rows
    v1=0
    For Each c1 As String In Lms
        dr2 = DataTables("设置").Find("课程 ='" & c1 & "'")
        If dr2 IsNot Nothing Then
            v1+ = r3(c1 & "总学费") * dr2("提成")*r3(c1)
        End If
    Next c1
    r3("提成总计金额")=v1
Next r3

t3.ResumeRedraw

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/21 15:13:00 [只看该作者]

 

[此贴子已经被作者于2018/9/21 15:14:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3905 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/21 15:15:00 [只看该作者]

 v1+ = r3(c1 & "总学费") * dr2("提成")*r3(c1)

*r3(c1)

这个条件再乘就不对了貌似

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/21 15:15:00 [只看该作者]

v1+ = r3(c1 & "总学费") * dr2("提成")*r3(c1)

 

改成

 

v1+ = r3(c1 & "总学费") * dr2("提成")


 回到顶部
帅哥哟,离线,有人找我吗?
初心不改再说未来
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:496 积分:3905 威望:0 精华:0 注册:2017/7/19 10:58:00
  发帖心情 Post By:2018/9/21 15:18:00 [只看该作者]

OK  搞定了,就是后面多了个条件

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2018/9/21 17:06:00 [只看该作者]

用SQLGroupTableBuilder强大点

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


 回到顶部