Foxtable(狐表)用户栏目专家坐堂 → [求助]简单的排列组合代码


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

主题:[求助]简单的排列组合代码

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


加好友 发短信
等级:小狐 帖子:350 积分:3142 威望:0 精华:0 注册:2012/12/6 18:05:00
[求助]简单的排列组合代码  发帖心情 Post By:2014/2/23 19:23:00 [只看该作者]

如下图表B中第一列有A,B,C……………………,然后对应的第二列有A对应A1、A2…………,B也是一样的对应,求A,B,C……………………的所有排列组合放在第三列中
请问该如何写代码,想了很久了,不会用递归函数,请大虾们指点下,如下图

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


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


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

 之前有一个例子,函数写在在了内部函数里了,你可以看看。


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


加好友 发短信
等级:小狐 帖子:350 积分:3142 威望:0 精华:0 注册:2012/12/6 18:05:00
  发帖心情 Post By:2014/2/23 20:22:00 [只看该作者]

例子有点难,没有看懂!可否帮忙做一个跟我一样的例子!非常的感谢!

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


加好友 发短信
等级:狐神 帖子:4733 积分:34458 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/2/23 21:06:00 [只看该作者]

参照这个代码:
Dim ss1() As String = {"A1","A2"}
Dim ss2() As String = {"B1","B2","B3"}
Dim ss3() As String = {"C1","C2","C3"}
For Each s1 As String In ss1
    For Each s2 As String In ss2
        For Each s3 As String In ss3
            Output.Show(s1 & "-" & s2 & "-" & s3)
        Next
    Next
Next


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


加好友 发短信
等级:小狐 帖子:350 积分:3142 威望:0 精华:0 注册:2012/12/6 18:05:00
  发帖心情 Post By:2014/2/23 21:20:00 [只看该作者]

这个代码我也想过了!但是没有办法去动态的去定义每一个数组!因为前面的数组是变动的,而且For Next 的镶套的层数也是变动的!
这点没有办法去解决!


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


加好友 发短信
等级:小狐 帖子:350 积分:3142 威望:0 精华:0 注册:2012/12/6 18:05:00
  发帖心情 Post By:2014/2/23 21:22:00 [只看该作者]

因为一开始的数组是变动的!可能会有很多行!

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


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

 多年没写,忘记怎么写了图片点击可在新窗口打开查看 好不容易终于是弄出来了

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:组合排列例子.table


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


加好友 发短信
等级:狐神 帖子:4733 积分:34458 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/2/23 21:35:00 [只看该作者]

上个例子吧
输入一些你觉得难以实现的数据
[此贴子已经被作者于2014-2-23 21:36:15编辑过]

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


加好友 发短信
等级:小狐 帖子:350 积分:3142 威望:0 精华:0 注册:2012/12/6 18:05:00
  发帖心情 Post By:2014/2/23 21:46:00 [只看该作者]

有点甜,非常感谢了!问题解决了!高手啊!非常的感激!

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2014/2/23 22:36:00 [只看该作者]

Dim s1,s2,s3,sql,Lst3,Bm,Lm1,Lm2 As String
Bm = "表B"
Lm1 = "第一列"
Lm2 = "第二列"
lst3  = DataTables(Bm).GetComboListString(Lm1, Lm1 & " > ''",Lm1)

If lst3 > "" Then
    s1="Select " & lst3.Replace("|","." & Lm2 & " +'-'+ ") &  "." & Lm2 & " As 组合 from "
    s2 =",(Select " & Lm2 & " from {" & Bm & "} Where " & Lm1 & " = '"
    For Each s3 In lst3.split("|")
        sql+ =s2 & s3 & "') " & s3
    Next
    
    Output.Show(s1 & sql.Substring(1))
End If


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