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