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.