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.