Compartir a través de


Método Recordset.OpenRecordset (DAO)

Se aplica a: Access 2013, Office 2013

Crea un nuevo objeto Recordset y lo anexa a la colección Recordsets.

Sintaxis

expresión . OpenRecordset(Type, Options)

expression Variable que representa un objeto Recordset.

Parameters

Nombre

Obligatorio/opcional

Tipo de datos

Descripción

Name

Obligatorio

String

Origen de los registros para el nuevo Recordset. El origen puede ser un nombre de tabla o de consulta, o una instrucción SQL que devuelve registros. Para los objetos Recordset de tipo tabla en las bases de datos del motor de base de datos de Microsoft Access, el origen solo puede ser un nombre de tabla.

Type

Opcional

Variant

Una constante RecordsetTypeEnum que indica el tipo de Recordset para abrir.

NOTA: si abre un Recordset en un área de trabajo de Microsoft Access y no especifica un tipo, OpenRecordset crea un Recordset de tipo tabla, si es posible. If you specify a linked table or query, OpenRecordset creates a dynaset-type Recordset.

Opciones

Opcional

Variant

Una combinación de constantes RecordsetOptionEnum que especifican características del nuevo Recordset.

NOTA: las constantes dbConsistent y dbInconsistent son mutuamente exclusivas, y usar las dos producirá un error. Supplying a lockedits argument when options uses the dbReadOnly constant also causes an error.

LockEdit

Opcional

Variant

Una constante LockTypeEnum que determina el bloqueo del Recordset.

NOTA: Puede usar dbReadOnly en el argumento options o en el argumento lockedits, pero no en ambos. Si lo usa para ambos argumentos, se produce un error en tiempo de ejecución.

Valor devuelto

Recordset

Comentarios

En general, si el usuario obtiene este error mientras actualiza un registro, el código debe actualizar el contenido de los campos y recuperar los valores recién modificados. Si el error se produce al eliminar un registro, el código puede mostrar los nuevos datos de registros al usuario y un mensaje en el que se indica que los datos han cambiado recientemente. En ese momento, el código puede pedir una confirmación de que aún se desea eliminar el registro.

Debe usar también la constante dbSeeChanges si abre un objeto Recordset en el área de trabajo de ODBC conectado por el motor de base de datos de Microsoft Access contra una tabla de Microsoft SQL Server 6.0 (o posterior) que tiene una columna IDENTITY o, de lo contrario, puede producirse un error.

Al abrir más de un objeto Recordset en un origen de datos ODBC, se puede producir un error si la conexión está ocupada con una llamada OpenRecordset anterior. Un modo de solucionar este problema es rellenar completamente el objeto Recordset mediante el método MoveLast en cuanto se abra el objeto Recordset.

Cerrar un objeto Recordset con el método Close lo elimina automáticamente de la colección Recordsets.

Nota:

Si source hace referencia a una instrucción SQL formada por una cadena concatenada con un valor no entero y los parámetros del sistema especifican un valor que no es de EE. UU. Carácter decimal como una coma (por ejemplo, strSQL = "PRICE > " & lngPrice y lngPrice = 125,50), se produce un error al intentar abrir el objeto Recordset. Esto se debe a que durante la concatenación, el número se convierte en una cadena que usa el carácter decimal predeterminado de su sistema y SQL solo acepta caracteres decimales de EE.UU.