Я установил базу данных, в которой есть таблица, в которой есть 2 поля «Учетная запись» и «Всего учетных записей». Я хочу получить сумму суммарного суммирования счетов в поле «Всего учетных записей» каждой записи, что является результатом суммирования значений «Учетная запись» во всех предыдущих отчетах до текущего. Для этой цели я скопировал значение поля «Сумма» каждой записи в поле «Всего учетных записей» одной и той же записи. Затем я попытался добавить количество полей «Всего учетных записей» каждой записи только с суммой «Всего счетов» предыдущего, чтобы получить фактическую общую сумму этой записи. Я обнаружил, что мне нужен цикл VBA для выполнения этого запроса для всех записей (кроме первой записи), и поэтому я кодирую его, как показано ниже, но он имеет «Ошибка времени выполнения» 424: «Требуется объект», и кажется, что я Я ошибаюсь при назначении переменной strSQL.Как зациклировать запрос на обновление для всех записей таблицы
Private Sub doDataSegm_Click()
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL As String
Set dbs = CurrentDb()
Set rs = dbs.OpenRecordset("Table1", dbOpenTable)
If (rs.RecordCount <= 1) Then Exit Sub
rs.MoveFirst
rs.MoveNext
For i = 2 To rs.RecordCount
strSQL = "UPDATE Table1, Table1 as copyTable Set Table1.[Total Accounts] = Table1.[Total Accounts] + [copyTable].[Total Accounts] Where Table1.ID = i and copyTable.ID = i-1"
db.Execute strSQL, dbFailOnError
rs.MoveNext
Next i
End Sub
Крест отправил на ФАЖ: http://www.access-programmers.co.uk/forums/showthread.php?t=268668 – PaulFrancis