Pas de MAJ d'un état après modification d'un enregistrement
5 réponses
Céline
Bonjour à tous,
J'ai créé un formulaire basé sur une table. A l'ouverture de ce formulaire,
je n'autorise pas la modification des données. Il faut cliquer sur un bouton
pour effectuer sa modification puis ensuite cliquer sur un autre bouton pour
enregistrer les modifications effectuées. Sur un autre bouton, je lance un
état correspondant à l'enregistrement présenté dans mon formulaire. Or,
lorsque je fais une modif (bien qu'elle soit visible dans le formulaire),
elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque je
ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également
vérifié, l'enregistrement des données modifiées se fait bien dans la table.
Mon état est basé sur plusieurs tables.
Avez-vous des solutions à me proposer afin de résoudre ce problème bien
gênant ?
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
Tisane
Bonjour Céline,
J'ai créé un formulaire basé sur une table. A l'ouverture de ce formulaire, je n'autorise pas la modification des données. Il faut cliquer sur un bouton pour effectuer sa modification puis ensuite cliquer sur un autre bouton pour enregistrer les modifications effectuées. Sur un autre bouton, je lance un état correspondant à l'enregistrement présenté dans mon formulaire. Or, lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque je ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également vérifié, l'enregistrement des données modifiées se fait bien dans la table. Mon état est basé sur plusieurs tables.
L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur le bouton de l'état. Je ne suis bonne en VBA mais il me semble que tu peux ajouter DoCmd.RunCommand acCmdSaveRecord au début de ton module d'affichage de l'état.
-- Tisane "
Bonjour Céline,
J'ai créé un formulaire basé sur une table. A l'ouverture de ce
formulaire,
je n'autorise pas la modification des données. Il faut cliquer sur un
bouton
pour effectuer sa modification puis ensuite cliquer sur un autre bouton
pour
enregistrer les modifications effectuées. Sur un autre bouton, je lance un
état correspondant à l'enregistrement présenté dans mon formulaire. Or,
lorsque je fais une modif (bien qu'elle soit visible dans le formulaire),
elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque
je
ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également
vérifié, l'enregistrement des données modifiées se fait bien dans la
table.
Mon état est basé sur plusieurs tables.
L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur
le bouton de l'état.
Je ne suis bonne en VBA mais il me semble que tu peux ajouter
DoCmd.RunCommand acCmdSaveRecord
au début de ton module d'affichage de l'état.
J'ai créé un formulaire basé sur une table. A l'ouverture de ce formulaire, je n'autorise pas la modification des données. Il faut cliquer sur un bouton pour effectuer sa modification puis ensuite cliquer sur un autre bouton pour enregistrer les modifications effectuées. Sur un autre bouton, je lance un état correspondant à l'enregistrement présenté dans mon formulaire. Or, lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque je ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également vérifié, l'enregistrement des données modifiées se fait bien dans la table. Mon état est basé sur plusieurs tables.
L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur le bouton de l'état. Je ne suis bonne en VBA mais il me semble que tu peux ajouter DoCmd.RunCommand acCmdSaveRecord au début de ton module d'affichage de l'état.
-- Tisane "
Raymond [mvp]
Bonjour.
il est préférable de le faire dans le formulaire lui-même : Me.Dirty= False DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord ne peut pas fonctionner car c'est l'état qui a le focus et que docmd s'applique à l'objet actif, donc l'état. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://www.mpfa.info/ pour débuter sur le forum. Inscrivez-vous à la Newsletter TechNet. http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" a écrit dans le message de news: % | Bonjour Céline, | | > J'ai créé un formulaire basé sur une table. A l'ouverture de ce | > formulaire, | > je n'autorise pas la modification des données. Il faut cliquer sur un | > bouton | > pour effectuer sa modification puis ensuite cliquer sur un autre bouton | > pour | > enregistrer les modifications effectuées. Sur un autre bouton, je lance un | > état correspondant à l'enregistrement présenté dans mon formulaire. Or, | > lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), | > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque | > je | > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également | > vérifié, l'enregistrement des données modifiées se fait bien dans la | > table. | > Mon état est basé sur plusieurs tables. | | L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur | le bouton de l'état. | Je ne suis bonne en VBA mais il me semble que tu peux ajouter | DoCmd.RunCommand acCmdSaveRecord | au début de ton module d'affichage de l'état. | | -- | Tisane | " |
Bonjour.
il est préférable de le faire dans le formulaire lui-même :
Me.Dirty= False
DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord
ne peut pas fonctionner car c'est l'état qui a le focus et que docmd
s'applique à l'objet actif, donc l'état.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" <b.tisane@laposte.net> a écrit dans le message de news:
%23PPcgVhXGHA.1476@TK2MSFTNGP03.phx.gbl...
| Bonjour Céline,
|
| > J'ai créé un formulaire basé sur une table. A l'ouverture de ce
| > formulaire,
| > je n'autorise pas la modification des données. Il faut cliquer sur un
| > bouton
| > pour effectuer sa modification puis ensuite cliquer sur un autre bouton
| > pour
| > enregistrer les modifications effectuées. Sur un autre bouton, je lance
un
| > état correspondant à l'enregistrement présenté dans mon formulaire. Or,
| > lorsque je fais une modif (bien qu'elle soit visible dans le
formulaire),
| > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que
lorsque
| > je
| > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également
| > vérifié, l'enregistrement des données modifiées se fait bien dans la
| > table.
| > Mon état est basé sur plusieurs tables.
|
| L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur
| le bouton de l'état.
| Je ne suis bonne en VBA mais il me semble que tu peux ajouter
| DoCmd.RunCommand acCmdSaveRecord
| au début de ton module d'affichage de l'état.
|
| --
| Tisane
| "
|
il est préférable de le faire dans le formulaire lui-même : Me.Dirty= False DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord ne peut pas fonctionner car c'est l'état qui a le focus et que docmd s'applique à l'objet actif, donc l'état. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://www.mpfa.info/ pour débuter sur le forum. Inscrivez-vous à la Newsletter TechNet. http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" a écrit dans le message de news: % | Bonjour Céline, | | > J'ai créé un formulaire basé sur une table. A l'ouverture de ce | > formulaire, | > je n'autorise pas la modification des données. Il faut cliquer sur un | > bouton | > pour effectuer sa modification puis ensuite cliquer sur un autre bouton | > pour | > enregistrer les modifications effectuées. Sur un autre bouton, je lance un | > état correspondant à l'enregistrement présenté dans mon formulaire. Or, | > lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), | > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque | > je | > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également | > vérifié, l'enregistrement des données modifiées se fait bien dans la | > table. | > Mon état est basé sur plusieurs tables. | | L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur | le bouton de l'état. | Je ne suis bonne en VBA mais il me semble que tu peux ajouter | DoCmd.RunCommand acCmdSaveRecord | au début de ton module d'affichage de l'état. | | -- | Tisane | " |
Céline
Merci à tous les deux pour vos solutions qui m'ont mise sur la bonne piste. En effet, dans mon formulaire, j'avais bien inséré une commande de sauvegarde de l'enregistrement mais elle venait après la ligne de code interdisant la modification des enregistrements (Me.AllowEdits = false) ! C'est maintenant réparé.
Merci encore,
Céline.
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
il est préférable de le faire dans le formulaire lui-même : Me.Dirty= False DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord ne peut pas fonctionner car c'est l'état qui a le focus et que docmd s'applique à l'objet actif, donc l'état. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://www.mpfa.info/ pour débuter sur le forum. Inscrivez-vous à la Newsletter TechNet. http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" a écrit dans le message de news: % | Bonjour Céline, | | > J'ai créé un formulaire basé sur une table. A l'ouverture de ce | > formulaire, | > je n'autorise pas la modification des données. Il faut cliquer sur un | > bouton | > pour effectuer sa modification puis ensuite cliquer sur un autre bouton
| > pour | > enregistrer les modifications effectuées. Sur un autre bouton, je lance
un | > état correspondant à l'enregistrement présenté dans mon formulaire. Or,
| > lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), | > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque | > je | > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également
| > vérifié, l'enregistrement des données modifiées se fait bien dans la | > table. | > Mon état est basé sur plusieurs tables. | | L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur
| le bouton de l'état. | Je ne suis bonne en VBA mais il me semble que tu peux ajouter | DoCmd.RunCommand acCmdSaveRecord | au début de ton module d'affichage de l'état. | | -- | Tisane | " |
Merci à tous les deux pour vos solutions qui m'ont mise sur la bonne piste.
En effet, dans mon formulaire, j'avais bien inséré une commande de
sauvegarde de l'enregistrement mais elle venait après la ligne de code
interdisant la modification des enregistrements (Me.AllowEdits = false) !
C'est maintenant réparé.
Merci encore,
Céline.
"Raymond [mvp]" <xyzofficesystem.accessxyz@free.fr> a écrit dans le message
de news:OqtUjbhXGHA.1204@TK2MSFTNGP04.phx.gbl...
Bonjour.
il est préférable de le faire dans le formulaire lui-même :
Me.Dirty= False
DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord
ne peut pas fonctionner car c'est l'état qui a le focus et que docmd
s'applique à l'objet actif, donc l'état.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" <b.tisane@laposte.net> a écrit dans le message de news:
%23PPcgVhXGHA.1476@TK2MSFTNGP03.phx.gbl...
| Bonjour Céline,
|
| > J'ai créé un formulaire basé sur une table. A l'ouverture de ce
| > formulaire,
| > je n'autorise pas la modification des données. Il faut cliquer sur un
| > bouton
| > pour effectuer sa modification puis ensuite cliquer sur un autre
bouton
| > pour
| > enregistrer les modifications effectuées. Sur un autre bouton, je
lance
un
| > état correspondant à l'enregistrement présenté dans mon formulaire.
Or,
| > lorsque je fais une modif (bien qu'elle soit visible dans le
formulaire),
| > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que
lorsque
| > je
| > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai
également
| > vérifié, l'enregistrement des données modifiées se fait bien dans la
| > table.
| > Mon état est basé sur plusieurs tables.
|
| L'enregistrement des modifs n'est sans doute pas fait quand tu cliques
sur
| le bouton de l'état.
| Je ne suis bonne en VBA mais il me semble que tu peux ajouter
| DoCmd.RunCommand acCmdSaveRecord
| au début de ton module d'affichage de l'état.
|
| --
| Tisane
| "
|
Merci à tous les deux pour vos solutions qui m'ont mise sur la bonne piste. En effet, dans mon formulaire, j'avais bien inséré une commande de sauvegarde de l'enregistrement mais elle venait après la ligne de code interdisant la modification des enregistrements (Me.AllowEdits = false) ! C'est maintenant réparé.
Merci encore,
Céline.
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
il est préférable de le faire dans le formulaire lui-même : Me.Dirty= False DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord ne peut pas fonctionner car c'est l'état qui a le focus et que docmd s'applique à l'objet actif, donc l'état. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://www.mpfa.info/ pour débuter sur le forum. Inscrivez-vous à la Newsletter TechNet. http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" a écrit dans le message de news: % | Bonjour Céline, | | > J'ai créé un formulaire basé sur une table. A l'ouverture de ce | > formulaire, | > je n'autorise pas la modification des données. Il faut cliquer sur un | > bouton | > pour effectuer sa modification puis ensuite cliquer sur un autre bouton
| > pour | > enregistrer les modifications effectuées. Sur un autre bouton, je lance
un | > état correspondant à l'enregistrement présenté dans mon formulaire. Or,
| > lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), | > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque | > je | > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également
| > vérifié, l'enregistrement des données modifiées se fait bien dans la | > table. | > Mon état est basé sur plusieurs tables. | | L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur
| le bouton de l'état. | Je ne suis bonne en VBA mais il me semble que tu peux ajouter | DoCmd.RunCommand acCmdSaveRecord | au début de ton module d'affichage de l'état. | | -- | Tisane | " |
Tisane
Bonjour Raymond,
il est préférable de le faire dans le formulaire lui-même : Me.Dirty= False DoCmd.OpenReport "monreport" ......... DoCmd.RunCommand acCmdSaveRecord ne peut pas fonctionner car c'est l'état qui a le focus et que docmd s'applique à l'objet actif, donc l'état.
Tu m'intrigues... Même si cette commande est placée avant DoCmd.OpenReport ? Quoiqu'il en soit, j'opte pour ta répoonse ;-) -- Tisane
| > J'ai créé un formulaire basé sur une table. A l'ouverture de ce | > formulaire, | > je n'autorise pas la modification des données. Il faut cliquer sur un | > bouton | > pour effectuer sa modification puis ensuite cliquer sur un autre bouton | > pour | > enregistrer les modifications effectuées. Sur un autre bouton, je lance un | > état correspondant à l'enregistrement présenté dans mon formulaire. Or, | > lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), | > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque | > je | > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également | > vérifié, l'enregistrement des données modifiées se fait bien dans la | > table. | > Mon état est basé sur plusieurs tables. | | L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur | le bouton de l'état. | Je ne suis bonne en VBA mais il me semble que tu peux ajouter | DoCmd.RunCommand acCmdSaveRecord | au début de ton module d'affichage de l'état. | | -- | Tisane | " |
Bonjour Raymond,
il est préférable de le faire dans le formulaire lui-même :
Me.Dirty= False
DoCmd.OpenReport "monreport" .........
DoCmd.RunCommand acCmdSaveRecord
ne peut pas fonctionner car c'est l'état qui a le focus et que docmd
s'applique à l'objet actif, donc l'état.
Tu m'intrigues... Même si cette commande est placée avant DoCmd.OpenReport ?
Quoiqu'il en soit, j'opte pour ta répoonse ;-)
--
Tisane
| > J'ai créé un formulaire basé sur une table. A l'ouverture de ce
| > formulaire,
| > je n'autorise pas la modification des données. Il faut cliquer sur un
| > bouton
| > pour effectuer sa modification puis ensuite cliquer sur un autre
bouton
| > pour
| > enregistrer les modifications effectuées. Sur un autre bouton, je
lance
un
| > état correspondant à l'enregistrement présenté dans mon formulaire.
Or,
| > lorsque je fais une modif (bien qu'elle soit visible dans le
formulaire),
| > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que
lorsque
| > je
| > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai
également
| > vérifié, l'enregistrement des données modifiées se fait bien dans la
| > table.
| > Mon état est basé sur plusieurs tables.
|
| L'enregistrement des modifs n'est sans doute pas fait quand tu cliques
sur
| le bouton de l'état.
| Je ne suis bonne en VBA mais il me semble que tu peux ajouter
| DoCmd.RunCommand acCmdSaveRecord
| au début de ton module d'affichage de l'état.
|
| --
| Tisane
| "
|
il est préférable de le faire dans le formulaire lui-même : Me.Dirty= False DoCmd.OpenReport "monreport" ......... DoCmd.RunCommand acCmdSaveRecord ne peut pas fonctionner car c'est l'état qui a le focus et que docmd s'applique à l'objet actif, donc l'état.
Tu m'intrigues... Même si cette commande est placée avant DoCmd.OpenReport ? Quoiqu'il en soit, j'opte pour ta répoonse ;-) -- Tisane
| > J'ai créé un formulaire basé sur une table. A l'ouverture de ce | > formulaire, | > je n'autorise pas la modification des données. Il faut cliquer sur un | > bouton | > pour effectuer sa modification puis ensuite cliquer sur un autre bouton | > pour | > enregistrer les modifications effectuées. Sur un autre bouton, je lance un | > état correspondant à l'enregistrement présenté dans mon formulaire. Or, | > lorsque je fais une modif (bien qu'elle soit visible dans le formulaire), | > elle n'est pas répercutée dans l'état. Cette modif n'apparaît que lorsque | > je | > ferme le formulaire, l'ouvre de nouveau et lance l'état. J'ai également | > vérifié, l'enregistrement des données modifiées se fait bien dans la | > table. | > Mon état est basé sur plusieurs tables. | | L'enregistrement des modifs n'est sans doute pas fait quand tu cliques sur | le bouton de l'état. | Je ne suis bonne en VBA mais il me semble que tu peux ajouter | DoCmd.RunCommand acCmdSaveRecord | au début de ton module d'affichage de l'état. | | -- | Tisane | " |
Raymond [mvp]
tu avais indiqué sur ton message: au début de ton module d'affichage de l'état ce qui n'était pas précis pour un débutant. mais si c'est bien dans le formulaire, c'est bon comme solution. quoi que je préfère personnellement éviter au maximum le DoCmd. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://www.mpfa.info/ pour débuter sur le forum. Inscrivez-vous à la Newsletter TechNet. http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" a écrit dans le message de news:
| Bonjour Raymond, | | > il est préférable de le faire dans le formulaire lui-même : | > Me.Dirty= False | > DoCmd.OpenReport "monreport" ......... | > DoCmd.RunCommand acCmdSaveRecord | > ne peut pas fonctionner car c'est l'état qui a le focus et que docmd | > s'applique à l'objet actif, donc l'état. | | Tu m'intrigues... Même si cette commande est placée avant DoCmd.OpenReport ? | Quoiqu'il en soit, j'opte pour ta répoonse ;-) | -- | Tisane
tu avais indiqué sur ton message:
au début de ton module d'affichage de l'état
ce qui n'était pas précis pour un débutant.
mais si c'est bien dans le formulaire, c'est bon comme solution. quoi que je
préfère personnellement éviter au maximum le DoCmd.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://www.mpfa.info/ pour débuter sur le forum.
Inscrivez-vous à la Newsletter TechNet.
http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" <b.tisane@laposte.net> a écrit dans le message de news:
uokFF0hXGHA.4484@TK2MSFTNGP02.phx.gbl...
| Bonjour Raymond,
|
| > il est préférable de le faire dans le formulaire lui-même :
| > Me.Dirty= False
| > DoCmd.OpenReport "monreport" .........
| > DoCmd.RunCommand acCmdSaveRecord
| > ne peut pas fonctionner car c'est l'état qui a le focus et que docmd
| > s'applique à l'objet actif, donc l'état.
|
| Tu m'intrigues... Même si cette commande est placée avant DoCmd.OpenReport
?
| Quoiqu'il en soit, j'opte pour ta répoonse ;-)
| --
| Tisane
tu avais indiqué sur ton message: au début de ton module d'affichage de l'état ce qui n'était pas précis pour un débutant. mais si c'est bien dans le formulaire, c'est bon comme solution. quoi que je préfère personnellement éviter au maximum le DoCmd. -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://www.mpfa.info/ pour débuter sur le forum. Inscrivez-vous à la Newsletter TechNet. http://www.microsoft.com/france/technet/presentation/flash/default.mspx
"Tisane" a écrit dans le message de news:
| Bonjour Raymond, | | > il est préférable de le faire dans le formulaire lui-même : | > Me.Dirty= False | > DoCmd.OpenReport "monreport" ......... | > DoCmd.RunCommand acCmdSaveRecord | > ne peut pas fonctionner car c'est l'état qui a le focus et que docmd | > s'applique à l'objet actif, donc l'état. | | Tu m'intrigues... Même si cette commande est placée avant DoCmd.OpenReport ? | Quoiqu'il en soit, j'opte pour ta répoonse ;-) | -- | Tisane