Поделиться через


Динамическое свойство resync Command (ADO)

Область применения: Access 2013, Office 2013

Указывает предоставленную пользователем командную строку, которую выдает метод Resync для обновления данных в таблице с именем в динамическом свойстве Unique Table .

Параметры и возвращаемые значения

Задает или возвращает строковое значение , представляющее собой командную строку.

Замечания

Объект Recordset является результатом операции JOIN, выполняемой в нескольких базовых таблицах. Затронутые строки зависят от параметра AffectRecords метода Resync . Стандартный метод Resync выполняется, если свойства Unique Table и Resync Command не заданы.

Командная строка свойства Resync Command — это параметризованная команда или хранимая процедура, которая однозначно идентифицирует обновляемую строку и возвращает одну строку, содержащую то же число и порядок столбцов, что и обновляемая строка. Командная строка содержит параметр для каждого столбца первичного ключа в уникальной таблице. В противном случае возвращается ошибка во время выполнения. Параметры автоматически заполняются значениями первичного ключа из обновляемой строки.

Ниже приведены два примера на основе SQL:

  1. Набор записей определяется командой :

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

    Для свойства Resync Command задано значение:

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

    Уникальная таблицаOrders, а ее первичный ключ OrderID параметризован. Вложенная выборка предоставляет простой способ программного обеспечения обеспечить возврат того же количества и порядка столбцов, что и исходной командой.

  2. Набор записей определяется хранимой процедурой:

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

    Метод Resync должен выполнить следующую хранимую процедуру:

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

    Для свойства Resync Command задано значение:

    "{call CustordersResync (?)}"

Опять же, уникальной таблицей является Orders , а ее первичный ключ OrderID параметризован.

Resync Command — это динамическое свойство, добавляемое к коллекции Свойств объекта Recordset, если свойству CursorLocation присвоено значение adUseClient.