Compartilhar via


Propriedade Report.RecordSource (Access)

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

Sintaxe

expressão. OrigemDosRegistos

expressão Uma variável que representa um objeto Relatório .

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 origem de dados.
SELECT Orders!OrderDate FROM Orders; Uma instrução SQL que especifica o campo OrderDate na tabela Orders como a origem de dados. Pode vincular um controlo no formulário ou relatório ao campo OrderDate na tabela Orders ao definir a propriedade OrigemDoControlo do controlo 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, pode criar um relatório que incorpora uma estrutura padrão e, em seguida, copiar o relatório e alterar a propriedade OrigemDosRegistos para apresentar dados de uma tabela, consulta ou instrução SQL diferente.

Exemplo

O exemplo seguinte define a propriedade OrigemDosRegistos de um formulário para a tabela Clientes .

Forms!frmCustomers.RecordSource = "Customers"

O exemplo seguinte altera a origem de registos de um formulário para um único registo na tabela Clientes , consoante o nome da empresa selecionado no controlo da 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.