Office中国论坛/Access中国论坛

标题: 如何把一个一对多的记录变为多个一对一的记录? [打印本页]

作者: 执成    时间: 2010-2-5 14:59
标题: 如何把一个一对多的记录变为多个一对一的记录?
本帖最后由 执成 于 2010-2-5 15:53 编辑

如何把这样一组数据:
甲班:小王,小李,小赵,小钱,小黄
乙班:小刘,小王,小沈,小钱




转化为:

甲班:小王
甲班:小李
甲班:小赵
甲班:小钱
甲班:小黄
乙班:小刘
乙班:小王
乙班:小沈
乙班:小钱



作者: 红尘如烟    时间: 2010-2-5 16:08
本帖最后由 红尘如烟 于 2010-2-5 16:12 编辑

  1.     Dim strName() As String
  2.     Dim intCount As Integer
  3.     Dim intI As Integer   
  4.     Dim rst As New ADODB.Recordset

  5.     rst.Open "表1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  6.     Do Until rst.EOF
  7.         strName() = Split(rst!姓名, ",")
  8.         intCount = UBound(strName)
  9.         If intCount > 0 Then
  10.             For intI = 0 To intCount
  11.                 CurrentDb.Execute "INSERT INTO 表2(班级,姓名) SELECT '" & rst!班级 & "','" & strName(intI) & "' FROM 表1"
  12.             Next
  13.         End If
  14.         rst.MoveNext
  15.     Loop
  16.     rst.Close
  17.     Set rst = Nothing
复制代码

作者: fnsmydyang    时间: 2010-2-5 22:35
又受教了一回,谢谢红尘...
作者: asklove    时间: 2010-2-6 09:53
学习学习
作者: dfnt11    时间: 2010-2-20 23:05
学习
作者: ZFL68622888    时间: 2010-2-22 14:33
学习了




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3