Bonjour à tous !

Je suis actuellement débutant sur Access 2003, et je dois créer une application en VBA.
A un certain moment, dans cette application, je dois pouvoir modifier un enregistrement spécifique dans une table de la base de données (pour cela, j'ai utilisé une requête qui recherche cet enregistrement).
J'ai donc utilisé la méthode "RecordSet", l'enregistrement s'affiche sur mon formulaire, je modifie quelques paramètres, et... voilà mon problème :
- Une fois l'enregistrement modifié, je me retrouve avec l'enregistrement modifié ET l'enregistrement précédent !!! Plus clairement, si je souhaite modifier mon enregistrement avec Nom=1 en lui donnant Nom=2, je me retrouve avec deux enregistrements (celui avec Nom=1 et celui avec Nom=2) dans la table de la base de données, ce qui embarassant !

Si quelqu'un aurait une idée pour me dépanner, ce serait super.

Voici le code concernant le RecordSet (la requête étant beaucoup trop longue, je ne l'ai pas écrite, mais j'indique où elle est placée. En fait, elle ne fait que me renvoyer un enregistrement dont l'ID correspond à celui que je lui indique) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
' DEFINITION DES VARIABLES
Dim qdf As DAO.Database
Dim rcs As DAO.Recordset
 
' RECUPERATION DE LA BASE DE DONNEES (ici, je l'ai appelée "BaseDeDonnees")
Set qdf = DBEngine.OpenDatabase("C:\Access\BaseDeDonnées.mdb")
 
' REQUETE D'AFFICHAGE
strSQL = "...Requête..."
 
' OUVERTURE DU RECORDSET
Set rcs = qdf.OpenRecordset(strSQL, dbOpenDynaset)
 
' PASSAGE EN MODE MODIFICATION
rcs.Edit
 
' MODIFICATION DES DONNEES (ici, par exemple, je modifie le nom d'un utilisateur dans un enregistrement de la table UTILISATEUR)
Me.Nom.Value = rcs!Nom
 
' FERMETURE DU RECORDSET
rcs.Close
qdf.Close
Set rcs = Nothing
Set qdf = Nothing
Merci d'avance !!!