وعليكم السلام
انا رأيي لو كان التوزيع عشوائي او بالتوالي واحد ثم الذي يليه
عموما تفضل هذا الكود يعمل حسب طلبك
On Error GoTo err_g
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE Matches.*, * FROM Matches"
DoCmd.SetWarnings True
Dim rs, rs2 As Recordset
Dim i, i2, c0, c1, c2 As Integer
Set rs = CurrentDb.OpenRecordset("Qry1")
Set rs2 = CurrentDb.OpenRecordset("Matches")
c0 = DCount("*", "Qry1")
c1 = c0 \ 2
c2 = c0 Mod 2
If c2 = 1 Then c1 = c1 + 1
rs.MoveFirst
For i = 1 To c0
If rs.RecordCount = c1 + 1 Then
rs2.MoveFirst
For i2 = rs.RecordCount To c0
rs2.Edit
rs2!player2 = rs!player
rs2.Update
rs2.MoveNext
rs.MoveNext
Next i2
If rs.RecordCount = c0 Then GoTo g
Else
rs2.AddNew
rs2!player1 = rs!player
rs2.Update
rs.MoveNext
End If
Next i
g:
If c2 = 1 Then
rs2.MoveLast
rs2.Edit
rs2!player2 = " بدون منافس"
rs2.Update
Else
Exit Sub
End If
rs.Close
rs2.Close
err_g:
Exit Sub
Append2.rar