salut
euh juste si t as mis l instruction .update
faut mettre .Edit avant .delete
Chevalier Pheno Starboard, membre de la Freeman-Corp
-------------------------------
Réponse au message :
-------------------------------
ça marche pas non plus...
En fait, c'est un peu bizarre.
J'ai plusieurs enregistrements à effacer dans ma BD (le recordset n'est pas vide). Cela plante dès que ça arrive sur .delete mais cela efface bel et bien les enregistrements dans la base (donc en passant une seule fois sur la méthode delete).
On dirait qu'il s'attend à n'avoir qu'un enregistrement à supprimer mais qu'il prend tout d'un coup...
-------------------------------
Réponse au message :
-------------------------------
Question Bête : Il n'est pas vide ton Recordset ? car avec ton algo car il me semble que de do exécute au minimum une fois la boucle => si tu rentre dans ta boucle et essaye d'éffacer un recorset Vide ça plante !
=> Essaye d'enlever ton "Do" ne met que le While et remplace Loop par Wend
-------------------------------
Réponse au message :
-------------------------------
merci mais ça ne marche toujours pas

En fait, quand j'exécute le code en pas à pas détaillé, ça plante dès que ça arrive sur .delete
donc ça ne vient pas du code qui est après

-------------------------------
Réponse au message :
-------------------------------
Ton Code est correct, il manque juste à updater ta base. Pour celà rajoute juste avant ton
".MoveNext " un : ".Update"
celà devrait fonctionner avec bcq d'enregistrement à effacer
-------------------------------
Réponse au message :
-------------------------------
Je veux supprimer plusieurs enregistrements d'un coup.
Voici mon code. Les lignes sont effectivement supprimées mais il me mets une erreur :
"Key column information is insufficient or incorrect. Too many rows were affected by update"
Dim adoLASLignes As Recordset
Set adoLASLignes = New Recordset
With adoLASLignes
.Open RequeteSQL, Publicdb, adOpenStatic, adLockOptimistic
Do While Not .EOF
.Delete
.MoveNext
Loop
End With
Je ne comprends pas pourquoi le delete veut absolument supprimer tous les enregistrements d'un coup alors que la valeur par défaut du delete est justement de supprimer l'enregistrement en cours...
Remarque : Aucune erreur ne se produit quand il n'y a effectivement qu'un seul enregistrement à supprimer