Вот один из способов достижения sh. Это очень простой код и не будет препятствовать дублированию записей. Может установить таблицу с составным индексом для полей AsOfDate и Group, чтобы предотвратить дублирование пар. Группа - это зарезервированное слово, и в действительности не следует использовать зарезервированные слова в качестве имен для чего-либо. Также советуем не использовать пробелы или знаки препинания / специальные символы в соглашении об именах.
Используйте имена таблиц и полей, где это необходимо. Добавьте критерии диапазона дат в предложение WHERE, если вы хотите уменьшить размер набора данных.
Sub MakeRecs()
Dim db As DAO.Database, rs As DAO.Recordset
Set db = CurrentDb
Set rs = CurrentDb.OpenRecordset("SELECT * FROM Table1 WHERE Weekday([AsOfDate])=6")
Do While Not rs.EOF
db.Execute "INSERT INTO Table1(AsOfDate, [Group], Amount1, Amount2, Amount3)" & _
"Values(#" & rs!AsOfDate + 1 & "#,'" & rs!Group & "'," & rs!Amount1 & "," & rs!Amount2 & "," & rs!Amount3 & ")"
db.Execute "INSERT INTO Table1(AsOfDate, [Group], Amount1, Amount2, Amount3)" & _
"Values(#" & rs!AsOfDate + 2 & "#,'" & rs!Group & "'," & rs!Amount1 & "," & rs!Amount2 & "," & rs!Amount3 & ")"
rs.MoveNext
Loop
End Sub