Resync Command Dynamic Property (ADO)
Gilt für: Access 2013, Office 2013
Es wird eine vom Benutzer bereitgestellte Befehlszeichenfolge angegeben, die von der Resync-Methode ausgegeben wird, um die Daten in der Tabelle, die in der dynamischen Unique Table-Eigenschaft genannt ist, zu aktualisieren.
Einstellungen und Rückgabewerte
Mit dieser Eigenschaft wird ein Wert vom Datentyp String festgelegt oder zurückgegeben, bei dem es sich um eine Befehlszeichenfolge handelt.
Hinweise
Das Recordset-Objekt ist das Ergebnis einer für mehrere Basistabellen ausgeführten JOIN-Operation. Die betroffenen Zeilen hängen vom AffectRecords-Parameter der Resync-Methode ab. Die standardmäßige Resync -Methode wird ausgeführt, wenn die Eigenschaften Unique Table und Resync Command nicht festgelegt sind.
Die Befehlszeichenfolge der Resync Command-Eigenschaft ist ein parametrisierter Befehl oder eine gespeicherte Prozedur, die die zu aktualisierende Zeile eindeutig identifiziert und eine einzelne Zeile zurückgibt, die die gleiche Anzahl und Reihenfolge der Spalten wie die zu aktualisierende Zeile enthält. Die Befehlszeichenfolge enthält einen Parameter für jede Primärschlüsselspalte in der eindeutigen Tabelle. Andernfalls wird ein Laufzeitfehler zurückgegeben. Die Parameter werden automatisch mit Primärschlüsselwerten aus der zu aktualisierenden Zeile ausgefüllt.
Es folgen zwei auf SQL basierende Beispiele:
Das Recordset -Objekt wird durch einen Befehl definiert:
SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE city = Seattle ORDER BY CustomerID
Die Resync Command -Eigenschaft wird festgelegt auf:
SELECT * FROM (SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID city = Seattle ORDER BY CustomerID) WHERE Orders.OrderID = ?"
Die Unique Table-Eigenschaft hat den Wert Orders, und der Primärschlüssel, OrderID, ist parametrisiert. Die Unterauswahl ist eine einfache Möglichkeit, um programmgesteuert sicherzustellen, dass die gleiche Anzahl und Reihenfolge von Spalten zurückgegeben wird wie mit dem ursprünglichen Befehl.
Das Recordset -Objekt wird mit einer gespeicherten Prozedur definiert:
CREATE PROC Custorders @CustomerID char(5) AS SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Customers.CustomerID = @CustomerID
Die folgende gespeicherte Prozedur sollte von der Resync -Methode ausgeführt werden:
CREATE PROC CustordersResync @ordid int AS SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID WHERE Orders.ordid = @ordid
Die Resync Command-Eigenschaft wird festgelegt auf:
"{call CustordersResync (?)}"
Die Unique Table-Eigenschaft hat wiederum den Wert Orders, und der Primärschlüssel, OrderID, ist parametrisiert.
Resync Command ist eine dynamische Eigenschaft, die an die Properties-Auflistung des Recordset-Objekts angefügt wird, wenn die CursorLocation-Eigenschaft auf adUseClient festgelegt ist.