Foxtable(狐表)用户栏目专家坐堂 → if问题


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

主题:if问题

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
if问题  发帖心情 Post By:2017/11/28 17:59:00 [只看该作者]

老师,请问下,如果第一列一样,第二列数值大的会自动输入到第三列,代码要怎么写,谢谢!下面是例子
第一列   第二列   第三列   第四列   
101      20      
101      25   25   
207      60      
207      90   90   
207     65      
315      80      
315      100      
315      150   150   


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


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

Dim t As Table = Tables("表A")
Dim pr As Row = Nothing
Dim max As String = 0
For Each r As Row In t.rows
    If pr IsNot Nothing AndAlso pr("第一列") <> r("第一列") Then
        pr("第三列")= max
        max = r("第二列")
    Else
        If r("第二列") > max Then
            max = r("第二列")
        End If
        r("第三列")= Nothing
    End If
    pr = r
Next
If pr IsNot Nothing Then
    pr("第三列")= max
end if

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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/11/28 18:24:00 [只看该作者]

老师,上面的代码放进去后,在第一列一输入数字,整个软件就关掉

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


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

 不是写到datacolchanged事件,而是单独做一个按钮执行代码。


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


加好友 发短信
等级:三尾狐 帖子:715 积分:6677 威望:0 精华:0 注册:2016/6/27 17:56:00
  发帖心情 Post By:2017/11/30 20:15:00 [只看该作者]

老师,请问下,上面的代码如果改为第一列一样,第二列数值排在第二大的会自动输入到第三列,代码要怎么写,谢谢!

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


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

Dim t As Table = Tables("表A")
Dim pr As Row = Nothing
Dim max1 As String = 0
Dim max2 As String = 0
Dim i As Integer = 0
For Each r As Row In t.rows
    If pr IsNot Nothing AndAlso pr("第一列") <> r("第一列") Then
        i = 0
        pr("第三列")= max2
        max1 = r("第二列")
        max2 = r("第二列")
        r("第三列")= Nothing
    ElseIf pr Is Nothing Then
        max1 = r("第二列")
        max2 = r("第二列")
        r("第三列")= Nothing
        i = 0
    Else
        If r("第二列") > max1 Then
            max2 = max1
            max1 = r("第二列")
        ElseIf r("第二列") > max2 Then
            max2 = r("第二列")
        elseif i = 1 then
            max2 = r("第二列")
        End If
        r("第三列")= Nothing
    End If
    pr = r
    i += 1
Next
If pr IsNot Nothing Then
    pr("第三列")= max2
end if

 回到顶部