运行以下代码:
Sub a()
Dim rst As DAO.Recordset
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
Dim i As Long
i = 1
CurrentDb.Execute "delete * from 把同一款号的资料为了一行(想要的结果)"
Set rst = CurrentDb.OpenRecordset("select 款号 from 原表 group by 款号", , vbReadOnly)
Set rst2 = CurrentDb.OpenRecordset("把同一款号的资料为了一行(想要的结果)")
rst.MoveLast
rst.MoveFirst
Do Until rst.EOF
Set rst1 = CurrentDb.OpenRecordset("select 石料编号,数量,重量 from 原表 where 款号='" & rst!款号 & "'")
rst1.MoveLast
rst1.MoveFirst
rst2.AddNew
rst2!款号 = rst!款号
rst2.Update
rst2.MoveLast
Do Until rst1.EOF
rst2.Edit
rst2(i) = rst1!石料编号
rst2(i + 1) = rst1!数量
rst2(i + 2) = rst1!重量
rst2.Update
i = i + 3
rst1.MoveNext
Loop
i = 1
rst.MoveNext
Loop
rst.Close: Set rst = Nothing
rst1.Close: Set rst1 = Nothing
rst2.Close: Set rst2 = Nothing
End Sub