Foxtable(狐表)用户栏目专家坐堂 → [求助]按钮控制列的合并与分离


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

主题:[求助]按钮控制列的合并与分离

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


加好友 发短信
等级:四尾狐 帖子:968 积分:8551 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]按钮控制列的合并与分离  发帖心情 Post By:2018/8/10 17:07:00 [只看该作者]

想在窗口中设置2个按钮,点击合并时,将下图窗口中的第一列的值"1,2,3...",变为"AA-1,AD-2,AC-3..."; 点击分离时,再变回“1,2,3...”。

但不增加新列。

谢谢!

  


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

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


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

循环每一行,合并/分割值不就行?

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


加好友 发短信
等级:四尾狐 帖子:968 积分:8551 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2018/8/10 20:27:00 [只看该作者]

谢谢指点!
还能精简代码吗?

'合并
For Each c As Col In Tables("窗口1_table1").Cols
    If c.Name = "名称" Then
        For Each r As Row In Tables("窗口1_table1").Rows
            If r("名称") <> "" AndAlso r("数字") <> "" AndAlso r("名称").Contains("-") = False Then    '避免多次合并
                r("名称") = r("数字") + "-" + r("名称")
            End If
        Next
    End If
Next


'分离
For Each c As Col In Tables("窗口1_table1").Cols
    If c.Name = "名称" Then
        For Each r As Row In Tables("窗口1_table1").Rows
            If r("名称") <> "" AndAlso r("数字") <> "" AndAlso r("名称").Contains("-") = True Then     '避免多次分离
                Dim s = r("名称")
                Dim s1() As String
                s1 = s.split("-")
                 r("名称") = s1(1)               
            End If
        Next
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:111409 积分:567115 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/10 20:57:00 [只看该作者]

'合并
For Each r As Row In Tables("窗口1_table1").Rows
    If r.isnull("名称") = False AndAlso r.isnull("数字") = False AndAlso r("名称").Contains("-") = False Then    '避免多次合并
        r("名称") = r("数字") + "-" + r("名称")
    End If
Next



'分离

For Each r As Row In Tables("窗口1_table1").Rows
    If r.isnull("名称") = False AndAlso r.isnull("数字") = False AndAlso r("名称").Contains("-") = True Then      '避免多次分离
        Dim s = r("名称")
        Dim s1() As String
        s1 = s.split("-")
        r("名称") = s1(1)
    End If
Next


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


加好友 发短信
等级:四尾狐 帖子:968 积分:8551 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2018/8/10 21:17:00 [只看该作者]

谢谢蓝版!
我把两段代码放在一个按钮中,怎么不对?

If e.Form.Controls("Button1").Name = "合并" Then
    For Each r As Row In Tables("窗口1_table1").Rows
        If r.isnull("名称") = False AndAlso r.isnull("数字") = False AndAlso r("名称").Contains("-") = False Then    '避免多次合并
            r("名称") = r("数字") + "-" + r("名称")
        End If
    Next
    e.Form.Controls("Button1").Name = "分离"
Else
    For Each r As Row In Tables("窗口1_table1").Rows
        If r.isnull("名称") = False AndAlso r.isnull("数字") = False AndAlso r("名称").Contains("-") = True Then      '避免多次分离
            Dim s = r("名称")
            Dim s1() As String
            s1 = s.split("-")
            r("名称") = s1(1)
        End If
    Next
    e.Form.Controls("Button1").Name = "合并"
End If

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


加好友 发短信
等级:超级版主 帖子:111409 积分:567115 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/10 21:30:00 [只看该作者]

e.Form.Controls("Button1").Name 改为 e.Form.Controls("Button1").Text

 回到顶部