Метод Range.CopyFromRecordset (Excel)

Копирует содержимое объекта набора записей ADO или DAO на лист, начиная с левого верхнего угла указанного диапазона. Если объект Recordset содержит поля с объектами OLE, этот метод завершается ошибкой.

Синтаксис

выражение. CopyFromRecordset (Data, MaxRows, MaxColumns)

выражение: переменная, представляющая объект Range.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Data Обязательный Variant Объект Recordset для копирования в диапазон.
Максимальное количество строк Необязательный Variant Максимальное количество записей, которые требуется скопировать на лист. Если этот аргумент опущен, копируются все записи в объекте Recordset .
Максстолбцы Необязательный Variant Максимальное количество полей для копирования на лист. Если этот аргумент опущен, будут скопированы все поля объекта Recordset .

Возвращаемое значение

Long

Примечания

Копирование начинается с текущей строки объекта Recordset . После завершения копирования свойство EOF объекта Recordset имеет значение True. Рекомендуется установить объектную переменную в диапазоне, в который вы копируете набор записей. В противном случае могут возникнуть общие ошибки автоматизации в зависимости от набора записей и диапазона.

Пример

В этом примере имена полей копируются из объекта набора записей DAO в первую строку листа и имена форматируются полужирным шрифтом. Затем в примере набор записей копируется на лист, начиная с ячейки A2.

For iCols = 0 to rs.Fields.Count - 1 
 ws.Cells(1, iCols + 1).Value = rs.Fields(iCols).Name 
Next 
ws.Range(ws.Cells(1, 1), _ 
 ws.Cells(1, rs.Fields.Count)).Font.Bold = True
Set PushRange = ws.Range("A2")
PushRange.CopyFromRecordset rs

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.