Bonjour tout le monde,
Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé
d'un bouton "clone".
La requête d'affichage donne (entre autres) Date_Travail croissant, Client
croissant et Num_Travail croissant.
Le code du bouton est le suivant :
[quote]
Private Sub CloneEnr_DblClick(Cancel As Integer)
On Error GoTo Err_CloneEnr_DblClick
Origine = CurrentRecord
Me.AllowAdditions = True
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
Me.Requery
Exit_CloneEnr_DblClick:
Me.AllowAdditions = False
Exit Sub
Err_CloneEnr_DblClick:
MsgBox Err.Description
Resume Exit_CloneEnr_DblClick
End Sub
[/quote]
Mon problème est que j'aimerai bien revenir directement au clone.
J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas.
Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ?
Cordialement.
PG
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
Thierry (ze Titi)
Hello PG !
Si l'enregistrement est le dernier de la requête, tu peux ajouter un
Me.Requery DoCmd.GotoRecord ,,acLast
A tester, jamais utilisé...
En ce jour mémorable du mercredi 19/09/2007, tu as émis l'idée suivante:
Bonjour tout le monde, Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé d'un bouton "clone". La requête d'affichage donne (entre autres) Date_Travail croissant, Client croissant et Num_Travail croissant. Le code du bouton est le suivant :
[quote] Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append Me.Requery Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub [/quote] Mon problème est que j'aimerai bien revenir directement au clone. J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas. Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ? Cordialement. PG
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Hello PG !
Si l'enregistrement est le dernier de la requête, tu peux ajouter un
Me.Requery
DoCmd.GotoRecord ,,acLast
A tester, jamais utilisé...
En ce jour mémorable du mercredi 19/09/2007, tu as émis l'idée
suivante:
Bonjour tout le monde,
Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé d'un
bouton "clone".
La requête d'affichage donne (entre autres) Date_Travail croissant, Client
croissant et Num_Travail croissant.
Le code du bouton est le suivant :
[quote]
Private Sub CloneEnr_DblClick(Cancel As Integer)
On Error GoTo Err_CloneEnr_DblClick
Origine = CurrentRecord
Me.AllowAdditions = True
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
Me.Requery
Exit_CloneEnr_DblClick:
Me.AllowAdditions = False
Exit Sub
Err_CloneEnr_DblClick:
MsgBox Err.Description
Resume Exit_CloneEnr_DblClick
End Sub
[/quote]
Mon problème est que j'aimerai bien revenir directement au clone.
J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas.
Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ?
Cordialement.
PG
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Si l'enregistrement est le dernier de la requête, tu peux ajouter un
Me.Requery DoCmd.GotoRecord ,,acLast
A tester, jamais utilisé...
En ce jour mémorable du mercredi 19/09/2007, tu as émis l'idée suivante:
Bonjour tout le monde, Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé d'un bouton "clone". La requête d'affichage donne (entre autres) Date_Travail croissant, Client croissant et Num_Travail croissant. Le code du bouton est le suivant :
[quote] Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append Me.Requery Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub [/quote] Mon problème est que j'aimerai bien revenir directement au clone. J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas. Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ? Cordialement. PG
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Mission
Bonjour Thierry
Ca fonctionne tant que je ne reclasse pas mes enregistrements. Mais je les reclasse ! C'est pour l'expliquer que j'ai donné ma requête. J'aurai pu préciser que NumTravail est la clé primaire unique de cette table.
Merci tout de même pour l'attention. PG
"Thierry (ze Titi)" a écrit dans le message de news:
Hello PG !
Si l'enregistrement est le dernier de la requête, tu peux ajouter un
Me.Requery DoCmd.GotoRecord ,,acLast
A tester, jamais utilisé...
En ce jour mémorable du mercredi 19/09/2007, tu as émis l'idée suivante:
Bonjour tout le monde, Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé d'un bouton "clone". La requête d'affichage donne (entre autres) Date_Travail croissant, Client croissant et Num_Travail croissant. Le code du bouton est le suivant :
[quote] Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append Me.Requery Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub [/quote] Mon problème est que j'aimerai bien revenir directement au clone. J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas. Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ? Cordialement. PG
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Bonjour Thierry
Ca fonctionne tant que je ne reclasse pas mes enregistrements.
Mais je les reclasse ! C'est pour l'expliquer que j'ai donné ma requête.
J'aurai pu préciser que NumTravail est la clé primaire unique de cette
table.
Merci tout de même pour l'attention.
PG
"Thierry (ze Titi)" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le
message de news:mn.9a777d794ad29c09.64280@tiscali.fr...
Hello PG !
Si l'enregistrement est le dernier de la requête, tu peux ajouter un
Me.Requery
DoCmd.GotoRecord ,,acLast
A tester, jamais utilisé...
En ce jour mémorable du mercredi 19/09/2007, tu as émis l'idée suivante:
Bonjour tout le monde,
Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé
d'un bouton "clone".
La requête d'affichage donne (entre autres) Date_Travail croissant,
Client croissant et Num_Travail croissant.
Le code du bouton est le suivant :
[quote]
Private Sub CloneEnr_DblClick(Cancel As Integer)
On Error GoTo Err_CloneEnr_DblClick
Origine = CurrentRecord
Me.AllowAdditions = True
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste
Append
Me.Requery
Exit_CloneEnr_DblClick:
Me.AllowAdditions = False
Exit Sub
Err_CloneEnr_DblClick:
MsgBox Err.Description
Resume Exit_CloneEnr_DblClick
End Sub
[/quote]
Mon problème est que j'aimerai bien revenir directement au clone.
J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas.
Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ?
Cordialement.
PG
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Ca fonctionne tant que je ne reclasse pas mes enregistrements. Mais je les reclasse ! C'est pour l'expliquer que j'ai donné ma requête. J'aurai pu préciser que NumTravail est la clé primaire unique de cette table.
Merci tout de même pour l'attention. PG
"Thierry (ze Titi)" a écrit dans le message de news:
Hello PG !
Si l'enregistrement est le dernier de la requête, tu peux ajouter un
Me.Requery DoCmd.GotoRecord ,,acLast
A tester, jamais utilisé...
En ce jour mémorable du mercredi 19/09/2007, tu as émis l'idée suivante:
Bonjour tout le monde, Dans un sous-formulaire (Access 2000), chaque enregistrement est affublé d'un bouton "clone". La requête d'affichage donne (entre autres) Date_Travail croissant, Client croissant et Num_Travail croissant. Le code du bouton est le suivant :
[quote] Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append Me.Requery Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub [/quote] Mon problème est que j'aimerai bien revenir directement au clone. J'ai essayé diverses solutions Me.Recordset mais ça ne convient pas. Est-ce que quelqu'un aurait la gentillesse de me mettre sur la voir ? Cordialement. PG
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Thierry (ze Titi)
Dans ce cas, il te faut récupérer la clé primaire générée pour le nouvel enregistrement. Je pense qu'en revoyant un peu ton code de la façon suivante:
Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True Dim rs As DAO.Recordset, maClé Set rs=Me.RecordSetClone rs.AddNew rs!champ1=Me.Champ1 rs!champ2=Me.Champ2 'on répète le code pour tous les champs (sauf la clé primaire) rs.Update maClé=rs!champCléPrimaire Me.Requery Me.RecordSet.FindFirst "laCléPrimaire=" & maClé Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub
A tester, jamais essayé...
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Dans ce cas, il te faut récupérer la clé primaire générée pour le nouvel enregistrement. Je pense qu'en revoyant un peu ton code de la façon suivante:
Private Sub CloneEnr_DblClick(Cancel As Integer)
On Error GoTo Err_CloneEnr_DblClick
Origine = CurrentRecord
Me.AllowAdditions = True
Dim rs As DAO.Recordset, maClé
Set rs=Me.RecordSetClone
rs.AddNew
rs!champ1=Me.Champ1
rs!champ2=Me.Champ2
'on répète le code pour tous les champs (sauf la clé primaire)
rs.Update
maClé=rs!champCléPrimaire
Me.Requery
Me.RecordSet.FindFirst "laCléPrimaire=" & maClé
Exit_CloneEnr_DblClick:
Me.AllowAdditions = False
Exit Sub
Err_CloneEnr_DblClick:
MsgBox Err.Description
Resume Exit_CloneEnr_DblClick
End Sub
A tester, jamais essayé...
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Dans ce cas, il te faut récupérer la clé primaire générée pour le nouvel enregistrement. Je pense qu'en revoyant un peu ton code de la façon suivante:
Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True Dim rs As DAO.Recordset, maClé Set rs=Me.RecordSetClone rs.AddNew rs!champ1=Me.Champ1 rs!champ2=Me.Champ2 'on répète le code pour tous les champs (sauf la clé primaire) rs.Update maClé=rs!champCléPrimaire Me.Requery Me.RecordSet.FindFirst "laCléPrimaire=" & maClé Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub
A tester, jamais essayé...
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Mission
Merci Thierry pour ton aide.
Ta formule ne me satisfaisait guère, car elle entraînait une trop grand modification du code. Par contre, en ajoutant ton analyse avec ce que j'ai trouvé chez http://access.developpez.com, j'ai trouvé ça : [quote] ... Me.Requery Nouveau = DMax("[NumTravail]", "tblTravaux") Me.Recordset.FindFirst "NumTravail=" & Nouveau ... [unquote] Et j'arrive bien sur le bon enregistrement, ce qui était le but recherché.
Encore mille mercis.
"Thierry (ze Titi)" a écrit dans le message de news:
Dans ce cas, il te faut récupérer la clé primaire générée pour le nouvel enregistrement. Je pense qu'en revoyant un peu ton code de la façon suivante:
Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True Dim rs As DAO.Recordset, maClé Set rs=Me.RecordSetClone rs.AddNew rs!champ1=Me.Champ1 rs!champ2=Me.Champ2 'on répète le code pour tous les champs (sauf la clé primaire) rs.Update maClé=rs!champCléPrimaire Me.Requery Me.RecordSet.FindFirst "laCléPrimaire=" & maClé Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub
A tester, jamais essayé...
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info
Merci Thierry pour ton aide.
Ta formule ne me satisfaisait guère, car elle entraînait une trop grand
modification du code.
Par contre, en ajoutant ton analyse avec ce que j'ai trouvé chez
http://access.developpez.com, j'ai trouvé ça :
[quote]
...
Me.Requery
Nouveau = DMax("[NumTravail]", "tblTravaux")
Me.Recordset.FindFirst "NumTravail=" & Nouveau
...
[unquote]
Et j'arrive bien sur le bon enregistrement, ce qui était le but recherché.
Encore mille mercis.
"Thierry (ze Titi)" <ze_titi_enlever-ceci@tiscali.fr> a écrit dans le
message de news:mn.9aa77d798329dff3.64280@tiscali.fr...
Dans ce cas, il te faut récupérer la clé primaire générée pour le nouvel
enregistrement. Je pense qu'en revoyant un peu ton code de la façon
suivante:
Private Sub CloneEnr_DblClick(Cancel As Integer)
On Error GoTo Err_CloneEnr_DblClick
Origine = CurrentRecord
Me.AllowAdditions = True
Dim rs As DAO.Recordset, maClé
Set rs=Me.RecordSetClone
rs.AddNew
rs!champ1=Me.Champ1
rs!champ2=Me.Champ2
'on répète le code pour tous les champs (sauf la clé primaire)
rs.Update
maClé=rs!champCléPrimaire
Me.Requery
Me.RecordSet.FindFirst "laCléPrimaire=" & maClé
Exit_CloneEnr_DblClick:
Me.AllowAdditions = False
Exit Sub
Err_CloneEnr_DblClick:
MsgBox Err.Description
Resume Exit_CloneEnr_DblClick
End Sub
A tester, jamais essayé...
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Ta formule ne me satisfaisait guère, car elle entraînait une trop grand modification du code. Par contre, en ajoutant ton analyse avec ce que j'ai trouvé chez http://access.developpez.com, j'ai trouvé ça : [quote] ... Me.Requery Nouveau = DMax("[NumTravail]", "tblTravaux") Me.Recordset.FindFirst "NumTravail=" & Nouveau ... [unquote] Et j'arrive bien sur le bon enregistrement, ce qui était le but recherché.
Encore mille mercis.
"Thierry (ze Titi)" a écrit dans le message de news:
Dans ce cas, il te faut récupérer la clé primaire générée pour le nouvel enregistrement. Je pense qu'en revoyant un peu ton code de la façon suivante:
Private Sub CloneEnr_DblClick(Cancel As Integer) On Error GoTo Err_CloneEnr_DblClick Origine = CurrentRecord Me.AllowAdditions = True Dim rs As DAO.Recordset, maClé Set rs=Me.RecordSetClone rs.AddNew rs!champ1=Me.Champ1 rs!champ2=Me.Champ2 'on répète le code pour tous les champs (sauf la clé primaire) rs.Update maClé=rs!champCléPrimaire Me.Requery Me.RecordSet.FindFirst "laCléPrimaire=" & maClé Exit_CloneEnr_DblClick: Me.AllowAdditions = False Exit Sub Err_CloneEnr_DblClick: MsgBox Err.Description Resume Exit_CloneEnr_DblClick End Sub
A tester, jamais essayé...
-- Cordialement, Thierry
Tout pour réussir avec Access : http://www.mpfa.info