Partilhar via


Propriedade Form.RecordsetClone (Access)

Utilize a propriedade RecordsetClone para fazer referência ao objeto ConjuntodeRegistos de um formulário especificado pela propriedade OrigemDosRegistos 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, pode utilizar a propriedade RecordsetClone quando pretender utilizar um método, como o método DAO Find , que não pode ser utilizado com formulários.

Quando um novo objeto Recordset é aberto, o seu primeiro registro é o registro atual. Se utilizar um dos métodos Localizar ou um dos métodos Mover para tornar atual qualquer outro registo no objeto Conjunto de registos , tem de sincronizar o registo atual no objeto Conjunto de registos com o registo atual do formulário ao atribuir o valor da propriedade Marcador da DAO à propriedade Marcador do formulário.

Exemplo

O exemplo seguinte utiliza a propriedade RecordsetClone para criar um novo clone do objeto Conjunto de registos a partir do formulário Encomendas e, em seguida, imprime os nomes dos campos na janela Imediato.

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 de empresa é selecionado a partir de uma caixa de combinação, o método FindFirst é utilizado para localizar o registo dessa empresa e a propriedade Marcador DAO do objeto Recordset é atribuída à propriedade Marcador do formulário, o que faz com que o formulário apresente o registo 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

Utilize a propriedade RecordCount para contar o número de registos num objeto Conjunto de registos . O exemplo seguinte mostra como pode combinar a propriedade RecordCount e a propriedade RecordsetClone para contar os registos num 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.