Compartilhar via


Propriedade TableDef.ReplicaFilter (DAO)

Aplica-se ao: Access 2013, Office 2013

Define ou retorna um valor em um objeto TableDef em uma réplica parcial que indica qual subconjunto de registros foi replicado nessa tabela a partir de uma réplica completa. (Somente em espaços de trabalho do Microsoft Access).

Sintaxe

expressão . ReplicaFilter

expressão Uma variável que representa um objeto TableDef.

Comentários

A configuração ou o valor de retorno é um String ou Boolean que indica qual subconjunto de registros foi replicado, conforme especificado na tabela a seguir:

Valor

Descrição

String

Os critérios aos quais um registro em uma tabela de réplicas parciais deve atender para ser replicado a partir de uma réplica completa.

Verdadeiro

Replica todos os registros.

Falso

(Padrão) Não replica registros.

Essa propriedade é semelhante à cláusula SQL WHERE (sem a palavra WHERE), mas não será possível especificar subconsultas, funções agregadas (como Count) ou funções definidas pelo usuário dentro dos critérios.

Você pode sincronizar os dados apenas entre uma réplica completa e uma réplica parcial. Não é possível sincronizar dados entre duas réplicas parciais. Além disso, com uma replicação parcial, você pode definir as restrições nos registros que serão replicados, mas não pode indicar quais campos serão replicados.

Geralmente, você redefinirá um filtro para réplica quando quiser replicar um conjunto de registros diferentes. Por exemplo, quando um representante de vendas assumir temporariamente o controle da região de outros representantes de vendas, o aplicativo do banco de dados poderá replicar temporariamente os dados de ambas as regiões e mais tarde retornar para o filtro anterior. Neste cenário, o aplicativo redefinirá a propriedade ReplicaFilter e depois preencherá novamente a réplica parcial.

Se o aplicativo alterar os filtros das réplicas, você deverá seguir estas etapas:

  1. Use o método Synchronize para sincronizar a réplica completa com a réplica parcial a partir da qual os filtros estão sendo alterados.

  2. Use a propriedade ReplicaFilter para fazer as alterações desejadas no filtro para réplica.

  3. Use o método PopulatePartial para remover todos os registros da réplica parcial e transferir todos os registros da réplica completa que correspondem aos novos critérios do filtro para réplica.

Para remover um filtro, defina a propriedade ReplicaFilter como False. Se você remover todos os filtros e chamar o método PopulatePartial, nenhum registro aparecerá nas tabelas replicadas da réplica parcial.

Observação

[!OBSERVAçãO] Se um filtro para réplica foi alterado e o método Synchronize for chamado antes do método PopulatePartial, ocorrerá um erro interceptável.

Exemplo

O exemplo a seguir usa a propriedade ReplicaFilter para replicar somente os registros dos clientes da região da Califórnia.

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