Compartilhar via


Propriedade Form.RecordsetClone (Access)

Use a propriedade RecordsetClone para se referir ao objeto Recordset de um formulário especificado pela propriedade RecordSource do formulário. Somente leitura.

Sintaxe

expressão. RecordsetClone

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

Comentários

A configuração da propriedade RecordsetClone representa uma cópia da consulta ou da tabela base especificada pela propriedade RecordSource do formulário. Se um formulário basear-se em uma consulta, por exemplo, a referência à propriedade RecordsetClone equivale a criar um clone de um objeto Recordset utilizando a mesma consulta. Se você aplicar um filtro ao formulário, o objeto Recordset refletirá a filtragem.

Essa propriedade só estará disponível quando for usado o Visual Basic e será somente leitura em todos os modos de exibição.

Use a propriedade RecordsetClone para navegar ou operar nos registros de um formulário, de forma independente do próprio formulário. Por exemplo, você pode usar a propriedade RecordsetClone quando quiser usar um método, como o método DAO Find , que não pode ser usado com formulários.

Quando um novo objeto Recordset é aberto, o seu primeiro registro é o registro atual. Se você usar um dos métodos Localizar ou um dos métodos Move para fazer qualquer outro registro no objeto Recordset atual, você deverá sincronizar o registro atual no objeto Recordset com o registro atual do formulário atribuindo o valor da propriedade DAO Bookmark à propriedade Bookmark do formulário.

Exemplo

O exemplo a seguir usa a propriedade RecordsetClone para criar um novo clone do objeto Recordset do formulário Orders e, em seguida, imprime os nomes dos campos na janela Imediata.

Sub Print_Field_Names() 
    Dim rst As Recordset, intI As Integer 
    Dim fld As Field 
 
    Set rst = Me.RecordsetClone 
    For Each fld in rst.Fields 
        ' Print field names. 
        Debug.Print fld.Name 
    Next 
End Sub

O exemplo a seguir usa a propriedade RecordsetClone e o objeto Recordset para sincronizar o registro de um conjunto de registros com o registro atual do formulário. Quando um nome da empresa é selecionado em uma caixa de combinação, o método FindFirst é usado para localizar o registro dessa empresa e a propriedade DAO Bookmark do objeto Recordset é atribuída à propriedade Bookmark do formulário, fazendo com que o formulário exiba o registro encontrado.

Sub SupplierID_AfterUpdate() 
    Dim rst As Recordset 
    Dim strSearchName As String 
 
    Set rst = Me.RecordsetClone 
    strSearchName = Str(Me!SupplierID) 
    rst.FindFirst "SupplierID = " & strSearchName 
        If rst.NoMatch Then 
            MsgBox "Record not found" 
        Else 
            Me.Bookmark = rst.Bookmark 
        End If 
    rst.Close 
End Sub

Use a propriedade RecordCount para contar o número de registros em um objeto Recordset . O exemplo a seguir mostra como você pode combinar a propriedade RecordCount e a propriedade RecordsetClone para contar os registros em um formulário.

Forms!Orders.RecordsetClone.MoveLast 
MsgBox "My form contains " _ 
    & Forms!Orders.RecordsetClone.RecordCount _ 
    & " records.", vbInformation, "Record Count"

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.