Описание
Возвращает число записей, которые были использованы при последнем
вызове метода Execute.
Значение
Возвращаемое значение имеет тип Long и лежит в интервале
от 0 до числа записей, которые были использованы при последнем вызове метода
Execute для объекта Database или QueryDef.
Замечания
При вызове метода Execute для запуска запроса на
изменение из объекта QueryDef, значением свойства RecordsAffected
становится число записей, которые были удалены, обновлены или вставлены.
В
рабочей области ODBCDirect свойство RecordsAffected не возвращает
разумное значение в запросе SQL на удаление таблицы (DROP
TABLE).
Пример
Следующая программа использует свойство RecordsAffected с
запросами на изменение, выполняемыми из объектов Database и
QueryDef. Для выполнения данной процедуры требуется функция
RecordsAffectedOutput.
Sub RecordsAffectedX()
Dim dbsNorthwind As Database
Dim qdfTemp As QueryDef
Dim strSQLChange As String
Dim strSQLRestore As String
Set dbsNorthwind = OpenDatabase("Борей.mdb")
With dbsNorthwind
' Печатает отчет о содержимом таблицы 'Сотрудники'.
Debug.Print "Число записей в таблице 'Сотрудники': " & .TableDefs!Сотрудники.RecordCount
RecordsAffectedOutput dbsNorthwind
' Определяет и выполняет запрос на изменение.
strSQLChange = "UPDATE Сотрудники " & "SET Страна = 'Россия' " & "WHERE Страна = 'РФ'"
.Execute strSQLChange
' Печатает отчет о содержимом таблицы 'Сотрудники'.
Debug.Print "Свойство RecordsAffected после выполнения " & "запроса из объекта Database: " & .RecordsAffected
RecordsAffectedOutput dbsNorthwind
' Определяет и выполняет второй запрос на изменение.
strSQLRestore = "UPDATE Сотрудники " & SET Страна = 'Россия' " & "WHERE Страна = 'РФ' "
Set qdfTemp = .CreateQueryDef("", strSQLRestore)
qdfTemp.Execute
' Печатает отчет о содержимом таблицы 'Сотрудники'.
Debug.Print "Свойство RecordsAffected после выполнения " & "запроса из объекта QueryDef: " & qdfTemp.RecordsAffected
RecordsAffectedOutput dbsNorthwind
.Close
End With
End Sub
Function RecordsAffectedOutput(dbsNorthwind As Database)
Dim rstEmployees As Recordset
' Открывает объект Recordset для таблицы 'Сотрудники'.
Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники")
With rstEmployees
' Цикл по всем компонентам объекта Recordset.
.MoveFirst
Do While Not .EOF
Debug.Print " " & !Фамилия & ", " & !Страна
.MoveNext
Loop
.Close
End With
End Function