Compartilhar via


Propriedade dinâmica do Comando Ressíncrono (ADO)

Aplica-se ao: Access 2013, Office 2013

Especifica uma cadeia de caracteres de comando, fornecida pelo usuário, que o método Resync emite para atualizar os dados na tabela chamada na propriedade dinâmica Tabela exclusiva.

Configurações e valores retornados

Define ou retorna um valor String que é uma sequência de comandos.

Comentários

O objeto Recordset é o resultado de um operação JOIN executada em diversas tabelas base. As linhas afetadas dependem do parâmetro AffectRecords do método Resync. O método Resync padrão é executado se as propriedades Unique Table e Resync Command não estiverem definidas.

A sequência de comandos da propriedade Resync Command é um comando com parâmetros ou um procedimento armazenado que identifica com exclusividade a linha que está sendo atualizada e retorna uma única linha contendo o mesmo número e ordem de colunas da linha a ser atualizada. A sequência de comandos contém um parâmetro para cada coluna de chave primária na Unique Table; caso contrário, um erro em tempo de execução será retornado. Os parâmetros são preenchidos automaticamente com os valores da chave primária da linha a ser atualizada.

Aqui estão dois exemplos baseados no SQL:

  1. O Recordset é definido por um comando:

        SELECT * FROM Customers JOIN Orders ON 
        Customers.CustomerID = Orders.CustomerID
        WHERE city = Seattle
        ORDER BY CustomerID
    

    A propriedade Resync Command é definida como:

     SELECT * FROM 
        (SELECT * FROM Customers JOIN Orders 
        ON Customers.CustomerID = Orders.CustomerID
        city = Seattle ORDER BY CustomerID)
     WHERE Orders.OrderID = ?"
    

    A Unique Table é Orders e sua chave primária, OrderID, está parametrizada. A subseleção fornece um modo simples de garantir de maneira programática que o mesmo número e a mesma ordem de colunas serão retornados da mesma forma que pelo comando original.

  2. O Recordset é definido por um procedimento armazenado:

        CREATE PROC Custorders @CustomerID char(5) AS 
        SELECT * FROM Customers JOIN Orders ON 
        Customers.CustomerID = Orders.CustomerID 
        WHERE Customers.CustomerID = @CustomerID
    

    O método Resync deve executar o seguinte procedimento armazenado:

        CREATE PROC CustordersResync @ordid int AS 
        SELECT * FROM Customers JOIN Orders ON 
        Customers.CustomerID = Orders.CustomerID
        WHERE Orders.ordid  = @ordid
    

    A propriedade Resync Command é definida como:

    "{call CustordersResync (?)}"

Mais uma vez, a Unique Table é Orders e sua chave-primária, OrderID, está parametrizada.

Resync Command é uma propriedade dinâmica acrescentada à coleção Properties do objeto Recordset quando a propriedade CursorLocation estiver configurada como adUseClient.