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


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

主题:折后计算问题

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
折后计算问题  发帖心情 Post By:2021/4/17 15:39:00 [显示全部帖子]

根据下面条件(类型,组合,计算公式),如何实现计算出“组合统计表”的组合名称的重量?
一,类型,组合
类型:A, 组合:BC
类型:A,组合:A1BC
类型:BC, 组合:ABCBA1
类型:BBE, 组合:A1B1CB1CB

二,计算公式

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


2.计算:A1,B,C的重量

计算公式:

A1=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重


3.计算:A,B,C,B,A1的重量

计算公式:

A=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
A1=面积*(组合表).克重


4.计算:A1,B1,C,B1,C,B 的重量

计算公式:

A1=面积*(组合表).克重
B1=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重
B1=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重
B=面积*(类型表).系数*(组合表).克重
C=面积*(组合表).克重

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




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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 9:05:00 [显示全部帖子]

Dim 面积 As Integer = DataTables("资料表").Find("面积 ='" & s1 & "'")   根据组合名称从资料表获取面积,参考下面find的用法
For Each s1 As String In lst
    Dim dr As DataRow = DataTables("组合表").Find("组合='" & s1 & "'")
    Dim 克重 As Integer = 0
    If dr IsNot Nothing Then
        克重 = dr("克重")
    End If
    dr = DataTables("类型表").Find("类型='" & s1 & "'")
    Dim 系数 As Double = 0
    If dr IsNot Nothing Then
        系数 = dr("系数")
    End If
    Select Case s1
        Case "A","C","A1"
            Dim sum As Double = 面积 * 克重
        Case "B"
            Dim sum As Double = 面积 * 系数 * 克重
    End Select
Next

老师,上面报错,请帮助,谢谢,


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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 14:21:00 [显示全部帖子]


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

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 15:00:00 [显示全部帖子]

详细错误信息:
调用的目标发生了异常。
无法在 System.Single 和 System.String 上执行“=”操作。

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 15:05:00 [显示全部帖子]

For Each s1 As String In lst
    Dim dr As DataRow = DataTables("组合表").Find("组合='" & s1 & "'")
    Dim 克重 As Integer = 0
    If dr IsNot Nothing Then
        克重 = dr("克重")
    End If
    dr = DataTables("类型表").Find("类型='" & s1 & "'")
    Dim 系数 As Double = 0
    If dr IsNot Nothing Then
        系数 = dr("系数")
    End If
    
    dr= DataTables("资料表").Find("面积 ='" & s1 & "'")
    Dim 面积 As Double = 0
    If dr IsNot Nothing Then
        面积= dr("面积")
        
        
    End If
    
    Select Case s1
        Case "A","C","A1"
            Dim sum As Double = 面积 * 克重
        Case "B"
            Dim sum As Double = 面积 * 系数 * 克重
    End Select
Next

上面代码报错,请老师在附件改正,谢谢!

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 15:32:00 [显示全部帖子]

面积资料表取值,根据“组合”条件取。

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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望: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从“类型表”取“系数”参与计算;

其他都是这个规律。


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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 16:29:00 [显示全部帖子]

详细计算方法如图

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


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


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1381 积分:9209 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2021/4/19 21:48:00 [显示全部帖子]

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



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