Compartilhar via


Propriedade Report.RecordSource (Access)

Use a propriedade RecordSource para especificar a origem dos dados de um relatório. String de leitura/gravação.

Sintaxe

expressão. Origemdoregistro

Expressão Uma variável que representa um objeto Report .

Comentários

A configuração da propriedade RecordSource pode ser um nome de tabela, um nome de consulta ou uma instrução SQL. Por exemplo, você pode usar as configurações a seguir.

Configuração de exemplo Descrição
Funcionários Um nome de tabela que especifica a tabela Funcionários como a fonte de dados.
SELECT Orders!OrderDate FROM Orders; Uma instrução SQL especificando o campo OrderDate na tabela Orders como a fonte de dados. Você pode associar um controle no formulário ou relatório ao campo OrderDate na tabela Orders definindo a propriedade ControlSource do controle como OrderDate.

Observação

[!OBSERVAçãO] Alterando a fonte de registro de um formulário ou relatório aberto causa uma repetição de consulta automática dos dados subjacentes. Se a propriedade Recordset de um formulário for definida em tempo de execução, a propriedade RecordSource do formulário é atualizada.

Depois de criar um formulário ou relatório, você pode alterar sua fonte de dados, alterando a propriedade RecordSource. A propriedade RecordSource também será útil se você quiser criar um formulário ou um relatório reutilizável. Por exemplo, você pode criar um relatório que incorpora um design padrão e copiar o relatório e alterar a propriedade RecordSource para exibir dados de uma tabela, consulta ou instrução SQL diferente.

Exemplo

O exemplo a seguir define a propriedade RecordSource de um formulário para a tabela Clientes .

Forms!frmCustomers.RecordSource = "Customers"

O próximo exemplo altera a fonte de registro de um formulário para um único registro na tabela Clientes , dependendo do nome da empresa selecionado no controle de caixa de combinação cmboCompanyName . A caixa de combinação é preenchida por uma instrução SQL que retorna o Customer ID (na coluna acoplada) e o nome da empresa. O Customer ID tem o tipo de dados Text.

Sub cmboCompanyName_AfterUpdate() 
    Dim strNewRecord As String 
    strNewRecord = "SELECT * FROM Customers " _ 
        & " WHERE CustomerID = '" _ 
        & Me!cmboCompanyName.Value & "'" 
    Me.RecordSource = strNewRecord 
End Sub

O exemplo a seguir mostra como usar uma instrução Structured Query Language (SQL) para estabelecer a fonte de dados de um relatório, conforme ele é aberto.

Private Sub Report_Open(Cancel As Integer)

    On Error GoTo Error_Handler

    Me.Caption = ?My Application?

    DoCmd.OpenForm FormName:=?frmReportSelector_MemberList?, _
    Windowmode:=acDialog

    ?Cancel the report if ?cancel? was selected on the dialog form.

    If Forms!frmReportSelector_MemberList!txtContinue = ?no? Then
        Cancel = True
        GoTo Exit_Procedure
    End If
    Me.RecordSource = ReplaceWhereClause(Me.RecordSource, _
      Forms!frmReportSelector_MemberList!txtWhereClause)

Exit_Procedure:
    Exit Sub

Error_Handler:
    MsgBox Err.Number & ?: ? & Err.Description
    Resume Exit_Procedure
    Resume

End Sub

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.