Resync Command dynamic property (ADO)
S’applique à : Access 2013, Office 2013
Spécifie une chaîne de commande fournie par l'utilisateur, que la méthode Resync émet pour actualiser les données de la table nommée dans la propriété dynamique Unique Table.
Paramètres et valeurs de retour
Définit ou renvoie une valeur de type String qui représente une chaîne de commande.
Remarques
L’objet Recordset est le résultat d’une opération JOIN exécutée sur plusieurs tables de base. Les lignes affectées dépendent du paramètre AffectRecords de la méthode Resync. La méthode Resync est exécutée si les propriétés Unique Table et Resync Command ne sont pas définies.
La chaîne de commande de la propriété Resync Command est une commande paramétrée ou une procédure stockée, qui identifie de manière unique la ligne actualisée, et renvoie une ligne unique avec un nombre et un ordre de colonnes identiques à celles de la ligne à actualiser. La chaîne de commande doit contenir un paramètre pour chaque colonne de clé primaire dans la propriété Unique Table sans quoi une erreur d'exécution est renvoyée. Les paramètres sont remplis automatiquement avec les valeurs de clé primaire dans la ligne à actualiser.
Voici deux exemples basés sur le langage SQL :
L'objet Recordset est défini par une commande :
SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE city = Seattle ORDER BY CustomerID
La propriété Resync Command est définie comme suit :
SELECT * FROM (SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID city = Seattle ORDER BY CustomerID) WHERE Orders.OrderID = ?"
La propriété Unique Table a la valeur Orders et sa clé primaire, OrderID, est paramétrée. L'instruction Select secondaire permet de garantir, par programme, le retour du même nombre de colonnes dans un ordre identique à celles renvoyées par la commande d'origine.
L'objet Recordset est défini par une procédure stockée :
CREATE PROC Custorders @CustomerID char(5) AS SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Customers.CustomerID = @CustomerID
La méthode Resync doit exécuter la procédure stockée suivante :
CREATE PROC CustordersResync @ordid int AS SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Orders.ordid = @ordid
La propriété Resync Command est définie comme suit :
"{call CustordersResync (?)}"
Une fois encore, la propriété Unique Table a la valeur Orders et sa clé primaire, OrderID, est paramétrée.
La propriété Resync Command est une propriété dynamique ajoutée à la collection Properties de l’objet Recordset lorsque la propriété CursorLocation a la valeur adUseClient.