Here is a simple procedure.
Code:
Option Compare Database
Option Explicit
Sub MatchRecs()
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim i As Integer
Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM Table1 ORDER BY RecNum ASC;", dbOpenSnapshot)
Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM Table1 ORDER BY RecNum DESC;", dbOpenSnapshot)
CurrentDb.Execute "DELETE FROM TempTable"
If rs1.RecordCount > 0 Then
If rs1.RecordCount Mod 2 <> 0 Then
MsgBox "Odd number of records. Procedure canceled."
Else
For i = 1 To rs1.RecordCount / 2
CurrentDb.Execute "INSERT INTO TempTable(RecNum1, RecNum2, Data1, Data2) VALUES(" & _
rs1!RecNum & ", " & rs2!RecNum & ", '" & rs1!Data & "', '" & rs2!Data & "')"
rs1.MoveNext
rs2.MoveNext
Next
End If
End If
End Sub
I created a table called Table1 with two fields - RecNum and Data. I created another table called TempTable to hold the manipulated records with 4 fields - RecNum1, RecNum2, Data1, Data2. I put the code in a general module and manually ran it with the Run command button on the VBA editor menu. You could put everything between Sub MatchRecs() and End Sub in a button Click event behind a form.
Change names in the code as appropriate.