Propriedade ConjuntoDeRegistos

Aplica-se a

Objeto ComboBox

Objeto Form

Objeto ListBox

Objeto Report

Devolve ou define o objeto Conjunto de registos ADO ou Conjunto de registos DAO que representa a origem de registos do formulário, relatório, controlo de caixa de listagem ou controlo de caixa de combinação especificado. De Leitura/escrita.

expressão Conjunto de registos

expressão Necessário. Uma expressão que devolve um dos objetos na lista Aplica-se A.

Observações

A propriedade Conjunto de registos devolve o objeto do conjunto de registos que fornece os dados que serão consultados num formulário, relatório, controlo de caixa de listagem ou controlo de caixa de combinação. Por exemplo, se um formulário for baseado numa consulta, referir a propriedade Conjunto de registos é o equivalente a clonar um objeto Conjunto de registos com a mesma consulta. No entanto, ao contrário da utilização da propriedade RecordsetClone, alterar o registo que está atualmente no conjunto de registos devolvido pela propriedade Conjunto de registos do formulário também define o registo atual do formulário.

Esta propriedade apenas está disponível ao utilizar código VBA (Visual Basic for Applications).

O comportamento de leitura/escrita da propriedade Conjunto de registos é determinada pelo tipo de conjunto de registos (ADO ou DAO) e o tipo de dados (Access ou SQL) contidos no conjunto de registos identificado pela propriedade.

Tipo de Conjunto de registos

Com base nos dados SQL

Com base nos dados do Access

ADO

De leitura/escrita.

De leitura/escrita.

DAO

N/D

De leitura/escrita.

O exemplo seguinte abre um formulário, abre um conjunto de registos e, em seguida, vincula o formulário ao conjunto de registos ao definir a propriedade Conjunto de registos do formulário para o objeto Conjunto de registos recentemente criado.

Global rstSuppliers As ADODB.RecordsetSub MakeRW()DoCmd.OpenForm "Suppliers"Set rstSuppliers = New ADODB.RecordsetrstSuppliers.CursorLocation = adUseClientrstSuppliers.Open "Select * From Suppliers", _CurrentProject.Connection, adOpenKeyset, adLockOptimisticSet Forms("Suppliers").Recordset = rstSuppliersEnd Sub

Utilize a propriedade Conjunto de registos:

  • Para vincular vários formulários a um conjunto de dados comuns. Isto permite a sincronização de diretórios de múltiplos formulários. Por exemplo:

    Set Me.Recordset = Forms!Form1.Recordset

  • Para utilizar métodos com o objeto Conjunto de registos que não são diretamente suportados em formulários. Por exemplo, pode utilizar a propriedade Conjunto de registos com os métodos ADO Localizar ou DAO Localizar numa caixa de diálogo personalizada para localizar um registo.

  • Para moldar uma transação (que pode ser revertida) à volta de um conjunto de edições que afetam múltiplos formulários.

Alterar a propriedade Conjunto de registos de um formulário também pode alterar as propriedades OrigemDosRegistos, TipoDoConjuntoDeRegistos e ProteçõesDeRegistos. Além disso, algumas propriedades relacionadas com dados podem ser substituídas, por exemplo, as propriedades Filtro, FiltroLigado, OrdenarPor e OrdenarPorLigado.

Chamar o método RepetirConsulta do conjunto de registos de um formulário (por exemplo, Forms(0).Recordset.Requery) podem tornar o formulário desvinculado. Para atualizar os dados num formulário vinculado a um conjunto de registos, defina a propriedade OrigemDosRegistos do formulário para si própria (Forms(0).RecordSource = Forms(0).RecordSource).

Quando um formulário está vinculado a um conjunto de registos, se utilizar o comando Filtrar por Formulário ocorre um erro.

Exemplo

O exemplo seguinte utiliza a propriedade Conjunto de registos para criar uma nova cópia do objeto Conjunto de registos do formulário atual e, em seguida, imprime os nomes dos campos na janela Depurar.

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

O exemplo seguinte utiliza a propriedade Conjunto de registos e o objeto Conjunto de registos para sincronizar um conjunto de registos com o registo atual do formulário. Quando o nome de uma empresa é selecionado a partir de uma caixa de combinação, o método FindFirst é utilizado para localizar o registo dessa empresa, fazendo com que o formulário apresente o registo encontrado.

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

O seguinte código ajuda-o a determinar que tipo de conjunto de registos é devolvido pela propriedade Conjunto de registos em condições diferentes.

Sub CheckRSType()
Dim rs as Object
Set rs=Forms(0).Recordset
If TypeOf rs Is DAO.Recordset Then
MsgBox "DAO Recordset"
ElseIf TypeOf rs is ADODB.Recordset Then
MsgBox "ADO Recordset"
End If
End Sub
Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×