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:
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.
Use a propriedade ReplicaFilter para fazer as alterações desejadas no filtro para réplica.
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