Foxtable(狐表)用户栏目专家坐堂 → 折后计算问题


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

主题:折后计算问题

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107728 积分:547973 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/19 15:45:00 [只看该作者]

什么“组合”条件,请举例说明

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


加好友 发短信
等级:五尾狐 帖子:1144 积分:7556 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 16:00:00 [只看该作者]

一,类型,组合
类型:A, 组合:BC
类型:A,组合:A1BC
类型:BC, 组合:ABCBA1
类型:BBE, 组合:A1B1CB1CB

二,详细计算公式

1.计算:如果:类型:A, 组合:BC;
              B,C的重量:计算公式:
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重

2.计算:如果:类型:A,组合:A1BC
             A1,B,C的重量,计算公式:
A1=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重

3.计算:如果:类型:BC, 组合:ABCBA1
              A,B,C,B,A1的重量,计算公式:
A=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
A1=面积*(组合表).克重

4.计算:如果:类型:BBE, 组合:A1B1CB1CB
             A1,B1,C,B1,C,B ,C的重量,计算公式:
A1=面积*(组合表).克重
B1=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重
B1=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重


计算规律如下:

注:1.组合:A1B1CB1CB要折成:A1,B1,C,B1,C,B,C 后,
       1、1:  A1,C,C,C也就位置,1,3,5,7可以不用考虑类型,其计算公式:
A1=面积*(组合表).克重
C=面积*(组合表).克重
C=面积*(组合表).克重
C=面积*(组合表).克重

    1、2:  B1,B1,B也就位置,2,4,6可以要考虑类型,其计算公式:
B1=面积*(类型表).系数*(组合表).克重
B1=面积*(类型表).系数*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
       2.类型:BBE,要折成:B,B,E从“类型表”取“系数”参与计算;

其他都是这个规律。


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


加好友 发短信
等级:超级版主 帖子:107728 积分:547973 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/19 16:12:00 [只看该作者]

还是没看懂,请使用表格数据举例说明,比如:A1=面积*(组合表).克重,这个面积指哪个表哪一行的数据,根据什么条件获取到这个面积值

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


加好友 发短信
等级:五尾狐 帖子:1144 积分:7556 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 16:29:00 [只看该作者]

详细计算方法如图

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


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


加好友 发短信
等级:超级版主 帖子:107728 积分:547973 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/19 16:51:00 [只看该作者]

怎么知道组合统计表的前7行数据是和资料表的第一行数据关联的?根据什么规则关联?

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


加好友 发短信
等级:五尾狐 帖子:1144 积分:7556 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 21:42:00 [只看该作者]

计算规律如下:

注:1.资料表.组合.A1B1CB1CB要折成:A1,B1,C,B1,C,B,C 后,
       1、1:  A1,C,C,C也就位置,1,3,5,7可以不用考虑类型,其计算公式:
组合统计表.组合名称.A1=资料表.面积*组合表.组合.克重
组合统计表.组合名称.C=资料表.面积*组合表.组合.克重
组合统计表.组合名称.C=资料表.面积*组合表.组合.克重
组合统计表.组合名称.C=资料表.面积*组合表.组合.克重

    1、2:  B1,B1,B也就位置,2,4,6可以要考虑类型,
     类型:BBE,要折成:B,B,E从“类型表”取“系数”参与计算;其计算公式:

组合统计表.组合名称.B1=资料表.面积*类型表.类型.系数*组合表.组合.克重
组合统计表.组合名称.B1=资料表.面积*类型表.类型.系数*组合表.组合.克重
组合统计表.组合名称.B=资料表.面积*类型表.类型.系数*组合表.组合.克重

二。换种说法:
1,”资料表.组合“拆分后,根据其“组合”与“组合表.组合”关系或作为条件,取“组合表.组合”值,也就是“组合表.组合.克重”进行计算;
2,资料表.类型“拆分后,根据其“类型”与“类型.组合”关系或作为条件,类型.类型值,也就是“类型.类型.系数进行计算;
也就是《资料表》的”组合和类型“字段分别拆分后,进行跨表取值计算,以组合和类型“字段与《组合表》的组合”字段和类型》的“类型“字段为条件,取值 计算。



       

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


加好友 发短信
等级:五尾狐 帖子:1144 积分:7556 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 21:48:00 [只看该作者]

资料表》的”组合和类型“字段分别拆分后,进行跨表取值计算。组合和类型“字段为关联或为条件。



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


加好友 发短信
等级:超级版主 帖子:107728 积分:547973 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/19 22:15:00 [只看该作者]

DataTables("组合统计表").DeleteFor("")
For Each r As Row In Tables("资料表").Rows
    Dim s As String = r("组合")
    Dim lst As new List(of String)
    Dim m As String = s(0)
    For i As Integer = 1 To s.Length - 1
        If Char.IsDigit(s(i)) Then
            m = m & s(i)
            lst.Add(m)
            m = ""
        ElseIf m > ""
            lst.Add(m)
            m = s(i)
        Else
            m = s(i)
        End If
    Next
    lst.Add(m)
    Dim 面积 As Integer = r("面积")
    Dim dr As DataRow
    For i As Integer = 0 To lst.Count - 1
        Dim s1 As String = lst(i)
        dr = DataTables("组合统计表").AddNew
        dr("组合名称") = s1
        dr("说明") = s
        Dim dr2 As DataRow = DataTables("组合表").Find("组合='" & s1 & "'")
        Dim 克重 As Integer = 0
        If dr2 IsNot Nothing Then
            克重 = dr2("克重")
        End If
        If i Mod 2 = 0 Then
            dr("重量") = 面积 * 克重
        Else
            dr2 = DataTables("类型表").Find("类型='" & s1 & "'")
            Dim 系数 As Double = 0
            If dr2 IsNot Nothing Then
                系数 = dr2("系数")
            End If
            dr("重量") = 面积 * 系数 * 克重
        End If
    Next
Next

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


加好友 发短信
等级:五尾狐 帖子:1144 积分:7556 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/20 12:03:00 [只看该作者]

老师,报错,如下:
详细错误信息:
索引超出了数组界限。

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


加好友 发短信
等级:超级版主 帖子:107728 积分:547973 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/20 12:05:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,

 回到顶部
总数 32 上一页 1 2 3 4 下一页