以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]多列值相加  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186288)

--  作者:miaoqingqing
--  发布时间:2023/4/19 16:37:00
--  [求助]多列值相加
求助   第一列 第二列 第三列 第四列  这4列值大于1的相加到第五列

比如
第一列 第二列 第三列 第四列   第五列
1         2        2          1       4

--  作者:有点蓝
--  发布时间:2023/4/19 16:44:00
--  
遍历前4个列,判断大于1就加到一个变量里,最后给第5列赋值
--  作者:miaoqingqing
--  发布时间:2023/4/19 17:06:00
--  回复:(有点蓝)遍历前4个列,判断大于1就加到一个变...
蓝总,代码怎么报错不了

Dim r As Row
With Tables("表A")
    For i As Integer = 0 To .Rows.Count - 1
        r = .Rows(i)
        If r("第一列") > 1 Then
            Dim s1 As Integer = r("第一列")
        End If
        If r("第二列") > 1 Then
            Dim s2 As Integer = r("第二列")
        End If
        If r("第三列") > 1 Then
            Dim s3 As Integer = r("第三列")
        End If
        If r("第四列") > 1 Then
            Dim s4 As Integer = r("第四列")
        End If
        r("第五列") = s1 + s2 +s3 +s4
    Next
End With

--  作者:有点蓝
--  发布时间:2023/4/19 17:39:00
--  
学下基础,看看帮助是怎么求和的:http://www.foxtable.com/webhelp/topics/0225.htm
--  作者:miaoqingqing
--  发布时间:2023/4/20 11:04:00
--  回复:(有点蓝)学下基础,看看帮助是怎么求和的:ht...
For Each r As DataRow In DataTables("表A").DataRows
    Dim q As Integer =  r("第一列")
    Dim b As Integer =  r("第二列")
    Dim s As Integer =  r("第三列")
    Dim g As Integer =  r("第四列")
    
    
    If q > 1 Then
        Dim qq = q
    End If
    If b > 1 Then
        Dim bb = b
    End If
    If s > 1 Then
        Dim ss = s
    End If
    If g > 1 Then
        Dim gg = g
    End If
        r("第五列") = qq + bb + ss + gg  保存不了 求助
Next

--  作者:有点蓝
--  发布时间:2023/4/20 11:13:00
--  
    If r("第一列") > 1 Then
         q =r("第一列") 
    End If
……
r("第五列") = q + ..........
[此贴子已经被作者于2023/4/20 11:13:03编辑过]

--  作者:miaoqingqing
--  发布时间:2023/4/20 11:49:00
--  回复:(有点蓝)    If r("第一列") ...
For Each r As DataRow In DataTables("表A").DataRows
    \'Dim q As Integer =  r("第一列")
    \'Dim b As Integer =  r("第二列")
    \'Dim s As Integer =  r("第三列")
    \'Dim g As Integer =  r("第四列")
    
    
    
    If r("第一列") > 1 Then
        Dim q As Integer  =r("第一列")
    End If
    
    If r("第二列") > 1 Then
        Dim b As Integer   =r("第二列")
    End If
    
    If r("第三列") > 1 Then
        Dim s As Integer  =r("第三列")
    End If
    
    If r("第四列") > 1 Then
        Dim g As Integer  =r("第四列")
    End If
    
    \'r("第五列") = q + b + s + g  蓝总,怎么这句代码保存不了
    
    
Next

--  作者:y2287958
--  发布时间:2023/4/20 11:56:00
--  
上个例子吧,大哥

For Each r As DataRow In DataTables("表A").DataRows
    Dim q,b,s,g As Integer 
    If r("第一列") > 1 Then
        q =r("第一列")
    End If
    
    If r("第二列") > 1 Then
        b =r("第二列")
    End If
    
    If r("第三列") > 1 Then
        s =r("第三列")
    End If
    
    If r("第四列") > 1 Then
        g  =r("第四列")
    End If
    
    \'r("第五列") = q + b + s + g  蓝总,怎么这句代码保存不了
    
    
Next
[此贴子已经被作者于2023/4/20 11:58:09编辑过]

--  作者:miaoqingqing
--  发布时间:2023/4/20 12:10:00
--  回复:(y2287958)上个例子吧,大哥For Each r As Da...
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2.foxdb



上楼代码计算的第五列值有误,想要生成的值=正确值列的值,大于1的值才相加

图片点击可在新窗口打开查看此主题相关图片如下:正确值new.png
图片点击可在新窗口打开查看

狐表不能升级了,辛苦前辈版主把代码贴出来了,感谢



[此贴子已经被作者于2023/4/20 12:20:25编辑过]

--  作者:y2287958
--  发布时间:2023/4/20 12:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1.foxdb