请问Debug.Print Join的内容怎么能够输入数据库呢?

zhwg1224 2011-01-19 01:11:53
Option Explicit

'获得组合总数
Private Function Total(ByVal m As Long, ByVal n As Long) As Long
Dim i As Long
Dim Result As Double
Result = 1
For i = n To 1 Step -1
Result = Result * m / i
m = m - 1
Next
Total = Result
End Function

'单个组合
Private Sub CarryComb(CombItem As Variant, pComp() As Long, n As Long)
Dim i As Long
i = n
While CombItem(i) = pComp(i)
i = i - 1
Wend
CombItem(i) = CombItem(i) + 1
While i < n
i = i + 1
CombItem(i) = CombItem(i - 1) + 1
Wend
End Sub

'组合结果
Private Sub CombResult(m As Long, n As Long, Result As Variant)

Dim i As Long, j As Long
Dim Num As Long

If n > m Then Exit Sub

ReDim CombItem(1 To n)
ReDim pComp(1 To n) As Long

Num = m - n
For i = 1 To n - 1
CombItem(i) = i
pComp(i) = Num + i
Next
CombItem(n) = n - 1
pComp(n) = m

Num = Total(m, n) ': Debug.Print Num
ReDim Result(1 To Num)
For i = 1 To Num
CarryComb CombItem, pComp, n
Result(i) = Join(CombItem)
'DoEvents
Next

End Sub


Private Sub Command1_Click()

Dim m As Long, n As Long
Dim myResult

m = 35
n = 5
Call CombResult(m, n, myResult)
Debug.Print Join(myResult, vbCrLf)

End Sub


代码上面 最后Debug.Print Join(myResult, vbCrLf) 我想把排列组合 一条一条的输入数据库 怎么实现呢?!
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独剑_LPZ 2011-01-19
  • 打赏
  • 举报
回复
写个函数动态的组合出选中的字段为"字段1,字段2,字段3...",values也组合成这种形式即可
zhwg1224 2011-01-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 leftie 的回复:]
sql=" insert into tablename(a1,a2,a3,a4,a5) values('"& a1 &"','"& a2 &"','"& a3 &"','"& a4 &"','"& a5 &"')"
[/Quote]

大哥 这个 a1 a2 a3 a4 a5 是我打比方的 代码里面生成出来就是 4 5 6 7 8 这样的排列组成的字符串吧
饮水需思源 2011-01-19
  • 打赏
  • 举报
回复
sql=" insert into tablename(a1,a2,a3,a4,a5) values('"& a1 &"','"& a2 &"','"& a3 &"','"& a4 &"','"& a5 &"')"
zhwg1224 2011-01-19
  • 打赏
  • 举报
回复
上述 我 在35个号码里面选择 5个号码

能不能 输入数据的 a1,a2,a3,a4,a5 5个分别的字段呢?
咸清 2011-01-19
  • 打赏
  • 举报
回复
拼接 Insert 语句,连接数据库就可以

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧