Compartir a través de


Método Save (ADO)

Se aplica a: Access 2013, Office 2013

Guarda el objeto Recordset en un archivo o un objeto Stream.

Sintaxis

conjunto de registros. Guardardestino, PersistFormat

Parámetros

Parámetro Descripción
Destination Es opcional. Variant que representa la ruta de acceso completa al archivo donde se va a guardar el objeto Recordset o una referencia a un objeto Stream.
PersistFormat Es opcional. Valor de PersistFormatEnum que especifica el formato en el que se va a guardar el objeto Recordset (XML o ADTG). El valor predeterminado es adPersistADTG.

Comentarios

El método Save se puede invocar únicamente en un objeto Recordset abierto. Utilice el método Open para restaurar posteriormente el objeto Recordset desde Destination.

Si se estableció la propiedad Filter para el objeto Recordset, se guardan únicamente las filas accesibles con el filtro activado. Si el objeto Recordset es jerárquico, se guardan el Recordset secundario actual y sus elementos secundarios, incluido el objeto Recordset primario. Si se invoca el método Save de un objeto Recordset secundario, se guardan el objeto secundario y todos sus elementos secundarios, pero no se guarda el objeto primario.

La primera vez que se guarda el conjunto de registros, la especificación de Destination es opcional. Si se omite Destination, se creará un nuevo archivo con un nombre establecido en el valor de la propiedad Origen del conjunto de registros.

Omita Destination cuando llame posteriormente a Save; en caso contrario, se producirá un error en tiempo de ejecución. Si llama posteriormente a Save con un nuevo valor de Destination, el objeto Recordset se guardará en el nuevo destino. Sin embargo, tanto el nuevo destino como el original estarán abiertos.

El método Save no cierra el objeto Recordset ni el valor especificado por Destination, por lo que se puede seguir trabajando con el objeto Recordset y se pueden guardar los cambios más recientes. Destination permanecerá abierto hasta que se cierre el objeto Recordset.

Por motivos de seguridad, el método Save sólo permite el uso de configuraciones de seguridad baja y personalizada desde un script ejecutado por Microsoft Internet Explorer. Para obtener una explicación más detallada de los problemas de seguridad, vea el tema sobre los problemas de seguridad de ADO y RDS en Microsoft Internet Explorer, que se encuentra en los artículos técnicos de ActiveX Data Objects (ADO), en la sección de artículos técnicos de Microsoft Data Access.

Si se llama al método Save mientras hay en curso una operación asincrónica de recuperación, ejecución o actualización de un objeto Recordset, Save esperará hasta que finalice la operación asincrónica.

Los registros se guardan comenzando por la primera fila del objeto Recordset. Cuando el método Save finaliza, la posición de la fila activa se mueve a la primera fila del conjunto de registros.

Para obtener mejores resultados, establezca la propiedad CursorLocation en adUseClient con Save. Si su proveedor no admite toda la funcionalidad necesaria para guardar objetos Recordset, el Servicio de cursores proporcionará la funcionalidad.

Cuando se almacena un objeto Recordset con el valor de la propiedad CursorLocation establecido en adUseServer, la función de actualización del objeto Recordset es limitada. Normalmente, solo se permiten eliminaciones, inserciones y actualizaciones de una sola tabla (según la funcionalidad del proveedor). El método Resync tampoco está disponible en esta configuración.

Nota:

El almacenamiento de un objeto Recordset con campos de tipo adVariant, adIDispatch o adIUnknown no lo admite ADO y puede generar resultados impredecibles.

Solo los filtros en forma de cadenas de criterios (por ejemplo, OrderDate > '12/31/1999') afectan al contenido de un objeto Recordset persistente. Los filtros creados con una matriz de marcadores o mediante un valor de FilterGroupEnum no afectan al contenido del objeto Recordset almacenado. Estas reglas se aplican a los objetos Recordset creados con cursores de cliente o de servidor.

Dado que el parámetro Destination puede aceptar cualquier objeto que admita la interfaz IStream de OLE DB, se puede guardar un objeto Recordset directamente en el objeto de respuesta de ASP. Para obtener más información, vea Escenario de almacenamiento de un objeto Recordset en formato XML.

También se puede guardar un objeto Recordset con formato XML en una instancia de un objeto DOM MSXML, tal y como se muestra en el código siguiente de Visual Basic:

Nota:

Se aplican dos limitaciones al guardar conjuntos de registros jerárquicos (formas de datos) en formato XML. No se puede guardar en XML si el objeto Recordset jerárquico contiene actualizaciones pendientes y no se puede guardar un objeto Recordset jerárquico con parámetros.

Un objeto Recordset guardado en formato XML se guarda mediante el formato UTF-8. Cuando ese archivo se carga en un objeto Stream de ADO, este objeto no intentará abrir un objeto Recordset de la secuencia, a menos que la propiedad Charset de la secuencia tenga el valor apropiado para el formato UTF-8.