Я работаю в проекте в MS ACCESS 2010, где у меня есть существующие таблицы, позволяет брать сведения о сотрудниках, и мне нужно извлечь каждую строку основанный на поле first_name сотрудника, а затем создайте другую таблицу для каждого из них. Например, если первое имя является Джоном, тогда я должен получить все записи из таблицы сведений о сотрудниках, где первое имя - это John, и сохранить все эти строки в новом таблицу, т.е. новую таблицу_John и т. д. Для этого я создал новую таблицу только с уникальными записями первого поля имени и затем запустить следующий код, но я получаю время выполнения ошибки 3067: Входной запрос должен содержать, по меньшей мере, одну таблицу или запросКак извлечь уникальные записи (строки) из таблицы в MS ACCESS и сохранить их в разных таблицах
Private Sub cmdRemoveDuplicates_Click()
Dim db As Database
Dim rst As Recordset
Dim rst1 As Recordset
Dim tbl As Table
Set db = CurrentDb
Set rst = db.OpenRecordset("tblDetails", dbOpenDynaset, dbSeeChanges)
'Make new table with unique records from first name field
CurrentDb.Execute "SELECT distinct first_name INTO [unique_records] from tblDetails;"
Set rst1 = db.OpenRecordset("unique_records", dbOpenDynaset, dbSeeChanges)
rst1.Requery
Do Until rst1.EOF
CurrentDb.Execute "SELECT tblDetails.* INTO tblNew" & rst1!first_name & _
" FROM unique_records LEFT JOIN tblDetails ON unique_records.first_name = tblDetails.first_name" & _
" WHERE (((tblDetails.first_name)='" & rst1!first_name & "'));"
rst1.MoveNext
Loop
rst1.Close
rst.Close
db.Close
Set rst1 = Nothing
Set rst = Nothing
Set db = Nothing
End Sub
Код работал в excel 2010 и ранее я работал в excel 2013, так что это может быть проблема совместимости, но код, о котором я говорил выше, в моей проблеме работал наконец. –