Partager via


Propriété Report.RecordSource (Access)

Utilisez la propriété RecordSource pour spécifier la source des données d’un rapport. String en lecture/écriture.

Syntaxe

expression. RecordSource

Expression Variable qui représente un objet Report .

Remarques

Le paramètre de la propriété RecordSource peut être un nom de table, un nom de requête ou une instruction SQL. Vous trouverez ci-dessous des exemples de paramètres pouvant être utilisés.

Exemple de paramètre Description
Employés Nom de table spécifiant la table Employees comme source de données.
SELECT Orders!OrderDate FROM Orders; Instruction SQL spécifiant le champ OrderDate de la table Orders comme source de données. Vous pouvez lier un contrôle du formulaire ou de l’état au champ OrderDate de la table Orders en définissant la propriété ControlSource du contrôle sur OrderDate.

Remarque

[!REMARQUE] Toute modification de la source d'enregistrement d'un formulaire ou état ouvert entraîne automatiquement une nouvelle requête des données sous-jacentes. Si la propriété Recordset d'un formulaire est définie au moment de l'exécution, la propriété RecordSource formulaire est mis à jour.

Une fois que vous avez créé un formulaire ou un état, vous pouvez modifier sa source de données en modifiant la propriété RecordSource (source). La propriété RecordSource vous permet également de créer un formulaire ou un état réutilisable. Par exemple, vous pouvez créer un rapport qui incorpore une conception standard, puis copier le rapport et modifier la propriété RecordSource pour afficher les données d’une autre table, requête ou instruction SQL.

Exemple

L’exemple suivant définit la propriété RecordSource d’un formulaire sur la table Customers .

Forms!frmCustomers.RecordSource = "Customers"

L’exemple suivant change la source d’enregistrement d’un formulaire en un enregistrement unique dans la table Customers , en fonction du nom de la société sélectionné dans la zone de liste déroulante cmboCompanyName . Cette dernière contient une instruction SQL qui retourne le numéro permettant d'identifier le numéro de client (dans la colonne liée) et le nom de la société. Le numéro du client (CustomerID) a un type de données Texte.

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

L'exemple suivant montre comment utiliser une instruction de langage SQL (Structured Query) pour établir la source de données d'un état lors de son ouverture.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.