Ouverture rapport par boutonForm - Erreur BASIC

Bonjour,

Je tente de créer un macro très basique qui consiste à ouvrir un rapport via un bouton sur une form.

Mon code est le suivant :
Sub PrintEstimateReport()
ThisDatabaseDocument.ReportDocuments.getbyname(“EstimateReport”).open()
End Sub

L’erreur est la suivante :
Erreur d’exécution BASIC.
Variable d’objet non définie.

Le nom de mon rapport est bien “EstimateReport”, donc je ne comprends pas ce qu’il manque.

Merci d’avance de votre aide

Il se peut que tu aies activé “Option Explicit”. Dans ce cas, toutes les variables doivent être déclarées avant l’exécution. Il se peut aussi que la double parenthèse () au début de ta procédure soit gênante.

Tentatives

Sub PrintEstimateReport()
DIM ThisDatabaseDocument AS OBJECT
ThisDatabaseDocument.ReportDocuments.getbyname("EstimateReport").open()
End Sub

ou

Sub PrintEstimateReport
ThisDatabaseDocument.ReportDocuments.getbyname("EstimateReport").open()
End Sub

Traduit avec DeepL Translate: The world's most accurate translator (version gratuite)

Merci de votre aide.

Malheureusement ça ne fonctionne toujours pas. J’ai encore la même erreur.
J’ai essayé de retirer les parenthèses après open. Ainsi que de faire la déclaration comme suggéré.

La macro doit se trouver dans le fichier de la base de données. Tu as peut-être enregistré dans “Mes macros”.

Bjr,
pb toujours pas résolu?
Votre fichier anonymisé nous aiderait mieux à comprendre où est l’erreur !
@+

Non toujours pas :frowning:
Joindre un fichier ne fonctionne pas, mais c’est bien en dessous de ma BD

SUB PrintEstimateReport
	DIM oDoc AS OBJECT
	DIM oRepDoc AS OBJECT
	DIM oReport AS OBJECT
	oDoc = ThisDatabaseDocument
	oRepDoc = oDoc.ReportDocuments
	oReport = oRepDoc.getByName("EstimateReport")
	oReport.open
END SUB

Le code est divisé en étapes minuscules. Où s’arrête la macro ?
La macro ne doit pas être lancée à partir de l’éditeur de macros. Elle doit être lancée à partir du fichier de base.

Commencez par décomposer la ligne afin de voir si vous récupérez bien chaque objet.