Compartir a través de


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:

  1. 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.

  2. 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.