Поделиться через


Метод TableDef.OpenRecordset (DAO)

Область применения: Access 2013, Office 2013

Создает новый объект Recordset и добавляет его в коллекцию Recordsets.

Синтаксис

expression . OpenRecordset(Type, Options)

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

Параметры

Имя

Обязательный/необязательный

Тип данных

Описание

Name

Обязательный

String

Источник записей для нового объекта Recordset. Источником может быть имя таблицы, имя запроса или оператор SQL, возвращающий записи. Для объектов Recordset табличного типа в базах данных ядра СУБД Microsoft Access источником может быть только имя таблицы.

Type

Необязательный

Variant

Константа RecordsetTypeEnum, которая указывает на то, какой тип объекта Recordset нужно открыть.

ПРИМЕЧАНИЕ: при открытии Recordset в рабочей области Microsoft Access, если вы не указали тип, OpenRecordset создает табличный тип Recordset, если возможно. Вы укажете связанную таблицу или запрос, OpenRecordset создаст объект Recordset типа dynaset.

Options

Необязательно

Variant

Сочетание констант RecordsetOptionEnum, которые указывают характеристики нового объекта Recordset.

ПРИМЕЧАНИЕ: Константы dbConsistent и dbInconsistent являются взаимоисключающими, и использование обоих констант вызывает ошибку. Предоставление аргумента lockedits, когда опции используют константы dbReadOnly, также приводит к возникновению ошибки.

LockEdit

Необязательно

Variant

Константа LockTypeEnum, определяющая блокировку Recordset.

NOTE: вы можете использовать dbReadOnly или в аргументе параметров или в аргументе lockedits, но не одновременно. Если вы используете его для обоих аргументов, возникает ошибка во время выполнения.

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

Recordset

Примечания

Обычно если у пользователя возникает эта ошибка во время обновления записи, код должен обновлять содержимое полей и возвращать измененные значения. Если ошибка возникает при удалении записи, код может отобразить для пользователя данные новой записи и сообщение о недавнем изменении данных. В этот момент код может запросить у пользователя подтверждение удаления записи.

Вы также можете использовать константу dbSeeChanges при открытии Recordset в рабочей области ODBC, подключенной к ядру СУБД Microsoft Access для таблицы Microsoft SQL Server 6.0 (или более поздней версии), содержащей столбец IDENTITY, в противном случае может возникать ошибка.

Открытие нескольких объектов Recordset для источника данных ODBC может привести к завершению работы, так как подключение будет занято предыдущим вызовом OpenRecordset. Один из способов решения этой проблемы состоит в полном заполнении Recordset с помощью метода MoveLast непосредственно после открытия Recordset.

Закрытие Recordset с помощью метода Close автоматически удаляет его из коллекции Recordsets.

Примечание.

Если источник ссылается на инструкцию SQL, состоящую из строки, сцепленной с не целым числом, а системные параметры указывают не в США. десятичный символ, например запятая (например, strSQL = "PRICE > " & lngPrice и lngPrice = 125,50), ошибка возникает при попытке открыть набор записей. Это возникает по причине того, что при объединении число будет преобразовано в строку с помощью используемого по умолчанию в вашей системе десятичного символа, а SQL поддерживает только десятичные символы, используемые в США.