J'ai créé un module de classe pour tous les rapports (j'en ai plusieurs
auxquels je souhaite appliquer les mêmes procédures). Quand un rapport est
ouvert une barre d'outils s'affiche et, normalement, quand il se ferme la
barre d'outils disparaît. Le problème est que la barre d'outil ne disparaît
pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer)
Set crReport = New clsReport
Set crReport.MyReport = Me
End Sub
où crRapport est la variable globale de type clsRapport, qui est la classe
que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize()
Call AddToolBar
End Sub
Private Sub MyReport_Close()
On Error Resume Next
CommandBars("Reports").Delete
On Error GoTo 0
DoCmd.Restore
Set crReport = Nothing
End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Ta barre d'outils étant ouverte sur Initialize il serait logique qu'elle soit fermée sur Terminate, en pensant bien de faire un nothing de l'objet. si c'est tout ce que tu as comme code, la création de cette classe ne me parait pas franchement utile, surtout pour afficher une barre d'outils. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick" a écrit dans le message de news:eZu$B7%
Bonjour,
J'ai créé un module de classe pour tous les rapports (j'en ai plusieurs auxquels je souhaite appliquer les mêmes procédures). Quand un rapport est ouvert une barre d'outils s'affiche et, normalement, quand il se ferme la barre d'outils disparaît. Le problème est que la barre d'outil ne disparaît
pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer) Set crReport = New clsReport Set crReport.MyReport = Me End Sub
où crRapport est la variable globale de type clsRapport, qui est la classe que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize() Call AddToolBar End Sub
Private Sub MyReport_Close() On Error Resume Next CommandBars("Reports").Delete On Error GoTo 0
DoCmd.Restore Set crReport = Nothing End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute pas.
Avez-vous une idée de la raison ?
Merci pour votre aide.
-- Patrick
Ta barre d'outils étant ouverte sur Initialize il serait logique qu'elle
soit fermée sur Terminate, en pensant bien de faire un nothing de l'objet.
si c'est tout ce que tu as comme code, la création de cette classe ne me
parait pas franchement utile, surtout pour afficher une barre d'outils.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick" <nospams_fredin@magic.fr> a écrit dans le message de
news:eZu$B7%23eEHA.3520@TK2MSFTNGP10.phx.gbl...
Bonjour,
J'ai créé un module de classe pour tous les rapports (j'en ai plusieurs
auxquels je souhaite appliquer les mêmes procédures). Quand un rapport est
ouvert une barre d'outils s'affiche et, normalement, quand il se ferme la
barre d'outils disparaît. Le problème est que la barre d'outil ne
disparaît
pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer)
Set crReport = New clsReport
Set crReport.MyReport = Me
End Sub
où crRapport est la variable globale de type clsRapport, qui est la classe
que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize()
Call AddToolBar
End Sub
Private Sub MyReport_Close()
On Error Resume Next
CommandBars("Reports").Delete
On Error GoTo 0
DoCmd.Restore
Set crReport = Nothing
End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute pas.
Ta barre d'outils étant ouverte sur Initialize il serait logique qu'elle soit fermée sur Terminate, en pensant bien de faire un nothing de l'objet. si c'est tout ce que tu as comme code, la création de cette classe ne me parait pas franchement utile, surtout pour afficher une barre d'outils. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Patrick" a écrit dans le message de news:eZu$B7%
Bonjour,
J'ai créé un module de classe pour tous les rapports (j'en ai plusieurs auxquels je souhaite appliquer les mêmes procédures). Quand un rapport est ouvert une barre d'outils s'affiche et, normalement, quand il se ferme la barre d'outils disparaît. Le problème est que la barre d'outil ne disparaît
pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer) Set crReport = New clsReport Set crReport.MyReport = Me End Sub
où crRapport est la variable globale de type clsRapport, qui est la classe que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize() Call AddToolBar End Sub
Private Sub MyReport_Close() On Error Resume Next CommandBars("Reports").Delete On Error GoTo 0
DoCmd.Restore Set crReport = Nothing End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute pas.
Avez-vous une idée de la raison ?
Merci pour votre aide.
-- Patrick
?Lo»Paris?
Patrick wrote:
Bonjour,
J'ai créé un module de classe pour tous les rapports (j'en ai plusieurs auxquels je souhaite appliquer les mêmes procédures). Quand un rapport est ouvert une barre d'outils s'affiche et, normalement, quand il se ferme la barre d'outils disparaît. Le problème est que la barre d'outil ne disparaît pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer) Set crReport = New clsReport Set crReport.MyReport = Me End Sub
où crRapport est la variable globale de type clsRapport, qui est la classe que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize() Call AddToolBar End Sub
Private Sub MyReport_Close() On Error Resume Next CommandBars("Reports").Delete On Error GoTo 0
DoCmd.Restore Set crReport = Nothing End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute pas.
Avez-vous une idée de la raison ?
Merci pour votre aide.
Bonjour Patrick,
Une petite doc pour que tu comprenne comment géré WithEvent dans VBA :
http://dotnetadvisor.net/doc/13276
C'est en anglais mais c'est assez facile à comprendre
Salutations -- °Laurent°
Patrick wrote:
Bonjour,
J'ai créé un module de classe pour tous les rapports (j'en ai
plusieurs auxquels je souhaite appliquer les mêmes procédures). Quand
un rapport est ouvert une barre d'outils s'affiche et, normalement,
quand il se ferme la barre d'outils disparaît. Le problème est que la
barre d'outil ne disparaît pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer)
Set crReport = New clsReport
Set crReport.MyReport = Me
End Sub
où crRapport est la variable globale de type clsRapport, qui est la
classe que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize()
Call AddToolBar
End Sub
Private Sub MyReport_Close()
On Error Resume Next
CommandBars("Reports").Delete
On Error GoTo 0
DoCmd.Restore
Set crReport = Nothing
End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute
pas.
Avez-vous une idée de la raison ?
Merci pour votre aide.
Bonjour Patrick,
Une petite doc pour que tu comprenne comment géré WithEvent dans VBA :
http://dotnetadvisor.net/doc/13276
C'est en anglais mais c'est assez facile à comprendre
J'ai créé un module de classe pour tous les rapports (j'en ai plusieurs auxquels je souhaite appliquer les mêmes procédures). Quand un rapport est ouvert une barre d'outils s'affiche et, normalement, quand il se ferme la barre d'outils disparaît. Le problème est que la barre d'outil ne disparaît pas.
Voici le code exécuté à l'ouverture d'un rapport :
Private Sub Report_Open(Cancel As Integer) Set crReport = New clsReport Set crReport.MyReport = Me End Sub
où crRapport est la variable globale de type clsRapport, qui est la classe que j'ai créée.
Dans le module de classe j'ai ceci (à titre indicatif):
Public WithEvents MyReport As Report
Private Sub Class_Initialize() Call AddToolBar End Sub
Private Sub MyReport_Close() On Error Resume Next CommandBars("Reports").Delete On Error GoTo 0
DoCmd.Restore Set crReport = Nothing End Sub
Quand je ferme le rapport, la procédure MyReport_Close ne s'exécute pas.
Avez-vous une idée de la raison ?
Merci pour votre aide.
Bonjour Patrick,
Une petite doc pour que tu comprenne comment géré WithEvent dans VBA :
http://dotnetadvisor.net/doc/13276
C'est en anglais mais c'est assez facile à comprendre