fermer l'état, s'il n'est plus le focus

Le
Guy du Lac
Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or a
report.

--
Merci,
Guy du Lac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Thom
Le #6387351
Bonjour,

Dans ton état, il suffit d'ajouter le code suivant sur l'événement
"désactivé"

Bonne journée,

Thomas


Private Sub Report_Deactivate()

DoCmd.Close acReport, Me.Name, acSaveNo

End sub


"Guy du Lac" news:
Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les
évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or
a
report.

--
Merci,
Guy du Lac


Thom
Le #6387331
Pardon, j'ai mal lu ton post!

C'est étrange, ça fonctionne chez moi, à la seule différence que j'utilise
Me.Name

"Guy du Lac" news:
Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les
évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or
a
report.

--
Merci,
Guy du Lac


Thom
Le #6387321
C'est encore moi!

Tu n'as pas un traitement qui tournerais pendant que tu ferme ton
formulaire?

As tu libéré tous tes recordset? fichier ou autre?

J'imagine qu'il existe un numéro d'erreur, ça peut être intéressant de le
rechercher sur le Net et en particulier sur la MSDN.




"Thom" %
Pardon, j'ai mal lu ton post!

C'est étrange, ça fonctionne chez moi, à la seule différence que j'utilise
Me.Name

"Guy du Lac" de news:
Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les
évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form
or a
report.

--
Merci,
Guy du Lac






Argyronet
Le #6329301
Bonjour,

La notion de désactivation est rencontrée lorque la barre de titre devient
plus claire ou grisée selon la config de Windows, en d'autre termes, lorsque
vous avez cliqué sur une autre fenêtre.

Dans ce cas, ce code est parfaitement opérationnel :

Option Compare Database
Option Explicit

Private Sub Report_Activate()
MsgBox Me.Name & " est activé !"
End Sub

Private Sub Report_Deactivate()
If MsgBox(Me.Name & " est désactivé :" & vbCrLf & "Voulez-vous fermer
l'état '" & Me.Name & "' ?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close acReport, Me.Name
End If
End Sub

Il ne vous reste plus qu'à l'adapter pour votre cas...

Bonne journée,
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or a
report.

--
Merci,
Guy du Lac


Guy du Lac
Le #6329061
Bonjour Argy,

Voici le problème que j'ai.

j'ai un formulaire qui contient une liste de facture. Quand on click sur le
bouton Etat, la facture sélectionné ouvre dans son onglet. Le problème est
qu'en retournant dans le formulaire de la liste des factures sans fermer
l'onglet état, si je sélectionne une autre facture et si je retourne dans
l'onglet Etat, l'état n'est plus synchronisé avec le formulaire. C'est pour
cette raison que je tente de fermer l'état quand je perds le focus. Ou ce
serait encore mieux si je pouvais synchroniser.



--
Merci,
Guy du Lac



Bonjour,

La notion de désactivation est rencontrée lorque la barre de titre devient
plus claire ou grisée selon la config de Windows, en d'autre termes, lorsque
vous avez cliqué sur une autre fenêtre.

Dans ce cas, ce code est parfaitement opérationnel :

Option Compare Database
Option Explicit

Private Sub Report_Activate()
MsgBox Me.Name & " est activé !"
End Sub

Private Sub Report_Deactivate()
If MsgBox(Me.Name & " est désactivé :" & vbCrLf & "Voulez-vous fermer
l'état '" & Me.Name & "' ?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close acReport, Me.Name
End If
End Sub

Il ne vous reste plus qu'à l'adapter pour votre cas...

Bonne journée,
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or a
report.

--
Merci,
Guy du Lac




Argyronet
Le #6328961
Humm, vous utilisez Access 2007 en toute apparence ?
Vous évoquez des onglets...
Si tel est le cas, effectivement, ce n'est pas la bonne solution.
Vous confirmez...?

En fait, dans l'absolu, vous avez un nom de "Report" qui s'ouvre ;
Le mieux est de le mettre dans une variable pour + de confort.
Alors, sur l'événement click de votre bouton Etat, vous fermer d'abord
l'état avant de le réouvrir. C'est une tite solution en attendant. Je ne suis
pas en mesure de vous proposer autre chose tant que je ne sais pas la version
utilisée, celle proposée dans mon précédent post étant testée sur
97-2000-2002-2003.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour Argy,

Voici le problème que j'ai.

j'ai un formulaire qui contient une liste de facture. Quand on click sur le
bouton Etat, la facture sélectionné ouvre dans son onglet. Le problème est
qu'en retournant dans le formulaire de la liste des factures sans fermer
l'onglet état, si je sélectionne une autre facture et si je retourne dans
l'onglet Etat, l'état n'est plus synchronisé avec le formulaire. C'est pour
cette raison que je tente de fermer l'état quand je perds le focus. Ou ce
serait encore mieux si je pouvais synchroniser.



--
Merci,
Guy du Lac



Bonjour,

La notion de désactivation est rencontrée lorque la barre de titre devient
plus claire ou grisée selon la config de Windows, en d'autre termes, lorsque
vous avez cliqué sur une autre fenêtre.

Dans ce cas, ce code est parfaitement opérationnel :

Option Compare Database
Option Explicit

Private Sub Report_Activate()
MsgBox Me.Name & " est activé !"
End Sub

Private Sub Report_Deactivate()
If MsgBox(Me.Name & " est désactivé :" & vbCrLf & "Voulez-vous fermer
l'état '" & Me.Name & "' ?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close acReport, Me.Name
End If
End Sub

Il ne vous reste plus qu'à l'adapter pour votre cas...

Bonne journée,
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or a
report.

--
Merci,
Guy du Lac






Guy du Lac
Le #6328841
salut

oui je suis sur Access 2007
--
Merci,
Guy du Lac



Humm, vous utilisez Access 2007 en toute apparence ?
Vous évoquez des onglets...
Si tel est le cas, effectivement, ce n'est pas la bonne solution.
Vous confirmez...?

En fait, dans l'absolu, vous avez un nom de "Report" qui s'ouvre ;
Le mieux est de le mettre dans une variable pour + de confort.
Alors, sur l'événement click de votre bouton Etat, vous fermer d'abord
l'état avant de le réouvrir. C'est une tite solution en attendant. Je ne suis
pas en mesure de vous proposer autre chose tant que je ne sais pas la version
utilisée, celle proposée dans mon précédent post étant testée sur
97-2000-2002-2003.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour Argy,

Voici le problème que j'ai.

j'ai un formulaire qui contient une liste de facture. Quand on click sur le
bouton Etat, la facture sélectionné ouvre dans son onglet. Le problème est
qu'en retournant dans le formulaire de la liste des factures sans fermer
l'onglet état, si je sélectionne une autre facture et si je retourne dans
l'onglet Etat, l'état n'est plus synchronisé avec le formulaire. C'est pour
cette raison que je tente de fermer l'état quand je perds le focus. Ou ce
serait encore mieux si je pouvais synchroniser.



--
Merci,
Guy du Lac



Bonjour,

La notion de désactivation est rencontrée lorque la barre de titre devient
plus claire ou grisée selon la config de Windows, en d'autre termes, lorsque
vous avez cliqué sur une autre fenêtre.

Dans ce cas, ce code est parfaitement opérationnel :

Option Compare Database
Option Explicit

Private Sub Report_Activate()
MsgBox Me.Name & " est activé !"
End Sub

Private Sub Report_Deactivate()
If MsgBox(Me.Name & " est désactivé :" & vbCrLf & "Voulez-vous fermer
l'état '" & Me.Name & "' ?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close acReport, Me.Name
End If
End Sub

Il ne vous reste plus qu'à l'adapter pour votre cas...

Bonne journée,
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or a
report.

--
Merci,
Guy du Lac








Argyronet
Le #6328571
Eh bien du fait que vous soyez en "mode onglet" (désactivable depuis les
options d'Access), la notion événementielle des fenêtres empêche en quelque
sorte d'interagir sur les événements depuis l'état lui même.
Vous pouvez alors, comme je vous l'ai évoqué précédemment, agir depuis le
formulaire comme suit :

Private Sub Form_Activate()
Const ETAT_OUVERT_OU_CREATION As Long = 0
Const RPT_FACTURE As String = "Le nom de votre état"

If SysCmd(acSysCmdGetObjectState, acReport, RPT_FACTURE) <>
ETAT_OUVERT_OU_CREATION Then
If Reports(RPT_FACTURE).CurrentView <> ETAT_OUVERT_OU_CREATION Then
If MsgBox(RPT_FACTURE & " est encore ouvert :" & vbCrLf &
"Voulez-vous fermer l'état '" & Me.Name & "' ?", vbQuestion + vbYesNo) =
vbYes Then
DoCmd.Close acReport, RPT_FACTURE
End If
End If
End If
End Sub

Vous adaptez le code en fonction de vos besoins... Il reste ici pratique
pour l'exemple.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



salut

oui je suis sur Access 2007
--
Merci,
Guy du Lac



Humm, vous utilisez Access 2007 en toute apparence ?
Vous évoquez des onglets...
Si tel est le cas, effectivement, ce n'est pas la bonne solution.
Vous confirmez...?

En fait, dans l'absolu, vous avez un nom de "Report" qui s'ouvre ;
Le mieux est de le mettre dans une variable pour + de confort.
Alors, sur l'événement click de votre bouton Etat, vous fermer d'abord
l'état avant de le réouvrir. C'est une tite solution en attendant. Je ne suis
pas en mesure de vous proposer autre chose tant que je ne sais pas la version
utilisée, celle proposée dans mon précédent post étant testée sur
97-2000-2002-2003.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour Argy,

Voici le problème que j'ai.

j'ai un formulaire qui contient une liste de facture. Quand on click sur le
bouton Etat, la facture sélectionné ouvre dans son onglet. Le problème est
qu'en retournant dans le formulaire de la liste des factures sans fermer
l'onglet état, si je sélectionne une autre facture et si je retourne dans
l'onglet Etat, l'état n'est plus synchronisé avec le formulaire. C'est pour
cette raison que je tente de fermer l'état quand je perds le focus. Ou ce
serait encore mieux si je pouvais synchroniser.



--
Merci,
Guy du Lac



Bonjour,

La notion de désactivation est rencontrée lorque la barre de titre devient
plus claire ou grisée selon la config de Windows, en d'autre termes, lorsque
vous avez cliqué sur une autre fenêtre.

Dans ce cas, ce code est parfaitement opérationnel :

Option Compare Database
Option Explicit

Private Sub Report_Activate()
MsgBox Me.Name & " est activé !"
End Sub

Private Sub Report_Deactivate()
If MsgBox(Me.Name & " est désactivé :" & vbCrLf & "Voulez-vous fermer
l'état '" & Me.Name & "' ?", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close acReport, Me.Name
End If
End Sub

Il ne vous reste plus qu'à l'adapter pour votre cas...

Bonne journée,
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442 )
Empaquetage avec Runtime 2007 :
http://argyronet.developpez.com/office/access/runtime/2007/



Bonjour à tous,

Access 2007
Je voudrais fermer un état quand il perd le focus
j'ai essayé la commande DoCmd.Close acReport, "facture1" dans les évènements
Deactivate et LostFocus sans succès.

msg d'erreur : This action can't be carried out while processing a form or a
report.

--
Merci,
Guy du Lac










Publicité
Poster une réponse
Anonyme