Propiedad dinámica Resync Command (ADO)
Se aplica a: Access 2013, Office 2013
Especifica una cadena de comando proporcionada por el usuario que el método Resync emite para actualizar los datos de la tabla especificada en la propiedad dinámica Unique Table.
Configuración y valores devueltos
Establece o devuelve un valor de tipo String que es una cadena de comandos.
Comentarios
El objeto Recordset es el resultado de una operación JOIN ejecutada en varias tablas base. Las filas afectadas dependen del parámetro AffectRecords del método Resync. El método Resync estándar se ejecuta si las propiedades Unique Table y Resync Command no están establecidas.
La cadena de comandos de la propiedad Resync Command es un comando con parámetros o un procedimiento almacenado que identifica de forma exclusiva a la fila que se va a actualizar y que devuelve una única fila que contiene el mismo número de columnas y en el mismo orden que la fila que se va a actualizar. La cadena de comandos contiene un parámetro por cada columna de clave principal de Unique Table; de lo contrario, se devuelve un error en tiempo de ejecución. Los parámetros no se rellenan automáticamente con los valores de clave principal de la fila que se va a actualizar.
A continuación se muestran dos ejemplos basados en SQL:
Recordset se define mediante un comando:
SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE city = Seattle ORDER BY CustomerID
Se establece la propiedad Resync Command en:
SELECT * FROM (SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID city = Seattle ORDER BY CustomerID) WHERE Orders.OrderID = ?"
Unique Table es Orders y la clave principal, OrderID, tiene parámetros. La subselección proporciona una forma simple de garantizar mediante programación que se devuelve el mismo número de columnas y en el mismo orden que con el comando original.
Recordset es definido por un procedimiento almacenado:
CREATE PROC Custorders @CustomerID char(5) AS SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Customers.CustomerID = @CustomerID
El método Resync debe ejecutar el siguiente procedimiento almacenado:
CREATE PROC CustordersResync @ordid int AS SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Orders.ordid = @ordid
Se establece la propiedad Resync Command en:
"{call CustordersResync (?)}"
Una vez más, Unique Table es Orders y la clave principal, OrderID, tiene parámetros.
Resync Command es una propiedad dinámica que se anexa a la colección Properties del objeto Recordset cuando la propiedad CursorLocation está establecida en adUseClient.