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.