Freigeben über


TableDef.ReplicaFilter-Eigenschaft (DAO)

Gilt für: Access 2013, Office 2013

Legt einen Wert für ein TableDef-Objekt in einem Teilreplikat fest, der angibt, welche Teilmenge von Datensätzen aus einem vollständigen Replikat in dieser Tabelle repliziert wird, oder gibt diesen wert zurück. (Nur Microsoft Access-Arbeitsbereiche).

Syntax

Ausdruck . ReplicaFilter

Ausdruck Eine Variable, die ein TableDef-Objekt darstellt.

Bemerkungen

Die Einstellung bzw. der Rückgabewert ist ein String- oder Boolean-Datentyp, der angibt, welche Teilmenge von Datensätzen repliziert wird, wie in der folgenden Tabelle aufgeführt:

Wert

Beschreibung

Eine Zeichenfolge

Ein Kriterium, das die Teilreplikattabelle erfüllen muss, damit sie vom vollständigen Replikat repliziert wird.

True

Alle Datensätze werden repliziert.

False

(Standardwert) Kein Datensatz wird repliziert.

Diese Eigenschaft ist ähnlich einer SQL WHERE-Klausel (ohne das Wort WHERE). Es ist jedoch nicht möglich, Unterabfragen, Aggregatfunktionen (wie etwa Count) oder benutzerdefinierte Funktionen innerhalb der Kriterien festzulegen.

Sie können nur Daten zwischen einem vollständigen und einem Teilkreplikat replizieren. Es ist nicht möglich, Daten zwischen zwei Teilreplikaten zu synchronisieren. Sie können auch Einschränkungen für Teilreplikate hinsichtlich der zu replizierenden Datensätze festlegen, aber nicht angeben, welche Felder repliziert werden sollen.

Gewöhnlich legen Sie einen Replikatfilter fest, wenn Sie eine andere Gruppe von Datensätzen replizieren wollen. Wenn z. B. ein Vertriebsmitarbeiter vorübergehend die Vertriebsregion eines anderen Mitarbeiters übernimmt, kann die Datenbankanwendung vorübergehend Daten für beide Regionen replizieren und dann zum vorherigen Filter zurückkehren. In diesem Szenario setzt die Anwendung die ReplicaFilter-Eigenschaft zurück und füllt dann das Teilreplikat auf.

Wenn Ihre Anwendung Replikatfilter ändert, sollten Sie die folgenden Schritte ausführen:

  1. Replizieren Sie das vollständige Replikat mit dem Teilreplikat, in dem die Filter geändert werden, mithilfe der Synchronize -Methode.

  2. Nehmen Sie mithilfe der ReplicaFilter-Eigenschaft die gewünschten Änderungen am Replikatfilter vor.

  3. Entfernen Sie alle Datensätze aus dem Teilreplikat, und übertragen Sie mithilfe der PopulatePartial -Methode alle Datensätze aus dem vollständigen Replikat, die die neuen Replikatfilterkriterien erfüllen.

Sie können einen Filter entfernen, indem Sie für die ReplicaFilter-Eigenschaft den Wert False festlegen. Wenn Sie alle Filter entfernen und die PopulatePartial-Methode aufrufen, erscheinen keine Datensätze in den replizierten Tabellen im Teilreplikat.

Hinweis

[!HINWEIS] Wenn ein Replikatfilter geändert wurde und die Synchronize-Methode aufgerufen wird, ohne zuvor PopulatePartial aufzurufen, tritt ein auffangbarer Fehler auf.

Beispiel

The following example uses the ReplicaFilter property to replicate only customer records from the California region.

Sub ReplicaFilterX() 
 
 ' This example assumes the current open database 
 ' is the replica. 
 Dim tdfCustomers As TableDef 
 Dim strFilter As String 
 Dim dbsTemp As Database 
 
 Set dbsTemp = OpenDatabase("Northwind.mdb") 
 Set tdfCustomers = dbsTemp.TableDefs("Customers") 
 
 ' Synchronize with full replica 
 ' before setting replica filter. 
 dbsTemp.Synchronize "C:\SALES\FY96.MDB" 
 
 strFilter = "Region = 'CA'" 
 tdfCustomers.ReplicaFilter = strFilter 
 dbsTemp.PopulatePartial "C:\SALES\FY96.MDB" 
 
 ' Now remove the replica filter (for example purposes 
 ' only). 
 tdfCustomers.ReplicaFilter = False 
 ' Repopulate the database. 
 dbsTemp.PopulatePartial "C:\SALES\DATA96.MDB" 
 
End Sub