Propiedad Report.RecordSource (Access)

Use la propiedad RecordSource para especificar el origen de los datos de un informe. String de lectura y escritura.

Sintaxis

expresión. RecordSource

Expresión Variable que representa un objeto Report .

Comentarios

El valor de la propiedad RecordSource puede ser un nombre de tabla, un nombre de una consulta o una instrucción SQL. Por ejemplo, se pueden usar los siguientes valores:

Valor de ejemplo Descripción
Empleados Nombre de tabla que especifica la tabla Employees como origen de datos.
SELECT Orders!OrderDate FROM Orders; Instrucción SQL que especifica el campo OrderDate de la tabla Orders como origen de datos. Puede enlazar un control del formulario o informe al campo OrderDate de la tabla Orders estableciendo la propiedad ControlSource del control en OrderDate.

Nota:

Si se modifica el origen de registro de un formulario o informe abiertos, se vuelve a crear automáticamente una consulta de los datos subyacentes. Si la propiedad Recordset de un formulario se configura en el tiempo de ejecución, se actualiza la propiedad RecordSource del formulario.

Después de haber creado un formulario o informe, puede cambiar su origen de datos cambiando la propiedad RecordSource. La propiedad RecordSourcetambién es útil si desea crear un formulario o informe reutilizable. Por ejemplo, puede crear un informe que incorpore un diseño estándar y, a continuación, copiar el informe y cambiar la propiedad RecordSource para mostrar datos de una instrucción SQL, consulta o tabla diferente.

Ejemplo:

En el ejemplo siguiente se establece la propiedad RecordSource de un formulario en la tabla Customers .

Forms!frmCustomers.RecordSource = "Customers"

En el siguiente ejemplo se cambia el origen de registros de un formulario a un único registro de la tabla Customers , en función del nombre de la empresa seleccionado en el control del cuadro combinado cmboCompanyName . El cuadro combinado se rellena mediante una instrucción SQL que devuelve el identificador de cliente (en la columna enlazada) y el nombre de la compañía. El CustomerID tiene un tipo de datos texto.

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

En el ejemplo siguiente se muestra cómo usar una instrucción del Lenguaje de consulta estructurado (SQL) para establecer el origen de datos de un informe cuando se abre.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.