Foxtable(狐表)用户栏目专家坐堂 → 如何实现取最小值?


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

主题:如何实现取最小值?

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
如何实现取最小值?  发帖心情 Post By:2023/6/19 15:50:00 [显示全部帖子]

如何实现表A的第一列第行数据对表B的第一列的所有数据行进行相除,如表C的数据将余数(表CT第五列)最小的数据赋值到表A?
注:
1.表A,表B,表C之间都关联字段,如何实现?
2.表A,表B,表C之间如果没有关联字段,就无法实现计算,那就随便加个临时列临时编号进行统计,如何实现?

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


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


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

For Each ar As Row In Tables("表A").rows
    Dim min As Integer = 999999
    For Each br As Row In Tables("表B").rows
        Dim a As Integer = br("第一列") Mod ar("第一列")
        min = math.min(min, a)
    Next
    ar("第二列") = br("第一列") / ar("第一列")
    ar("第三列") = ar("第一列") * (br("第一列") / ar("第一列"))
    ar("第四列") = min
    
Next


表A的第二列、第三列没计算,加上红字代码,报错 br未声明,它可能因保持无法访问,如何实现一楼表A的第二列、第三列的值?

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


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

For Each ar As Row In Tables("表A").rows
    Dim min As Integer = 999999
    Dim min2 As Integer = 999999
    Dim min3 As Integer = 999999
    For Each br As Row In Tables("表B").rows
        Dim a As Integer = br("第一列") Mod ar("第一列")
        min = math.min(min, a)
        
        Dim b As Integer = br("第一列") / ar("第一列")
        min2 = math.min(min, b)
        Dim c As Integer = ar("第一列") * (br("第一列") / ar("第一列"))
        min3 = math.min(min, c)
    Next
    ar("第二列") = min2
    ar("第三列") = min3
    ar("第四列") = min
    
Next

计算结果,与一楼表A不一样,如图

图片点击可在新窗口打开查看此主题相关图片如下:最小值-2.jpg
图片点击可在新窗口打开查看




现二表都增加类别,如何实现表A的“第一列,类别列”每行数据对表B的“第一列,类别列”的所有数据行进行相除,计算表A的"第二列、第三列、第四列"的值?如下图


图片点击可在新窗口打开查看此主题相关图片如下:取最小值-3.jpg
图片点击可在新窗口打开查看



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


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

For Each ar As Row In Tables("表A").rows
    Dim min As Integer = 999999
    Dim min2 As Integer = 999999
    Dim min3 As Integer = 999999
    For Each br As Row In Tables("表B").rows
        Dim a As Integer = br("第一列") Mod ar("第一列")
        min = math.min(min, a)
        
        Dim b As Integer = br("第一列") / ar("第一列")
        min2 = math.min(min2, b)
        Dim c As Integer = ar("第一列") * (br("第一列") / ar("第一列"))
        min3 = math.min(min3, c)
    Next
    ar("第二列") = min2
    ar("第三列") = min3
    ar("第四列") = min
    
Next

上面代码执行后如图

图片点击可在新窗口打开查看此主题相关图片如下:取最小-5.jpg
图片点击可在新窗口打开查看

还是无法实现,表A的效果


 回到顶部