CochonPerdu
Messages postés42Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention12 août 2003
-
3 juin 2002 à 11:03
cs_pheno
Messages postés141Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention23 mars 2005
-
5 juin 2002 à 16:31
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
Panterad69
Messages postés20Date d'inscriptionmercredi 24 avril 2002StatutMembreDernière intervention19 avril 2007 3 juin 2002 à 13:29
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
CochonPerdu
Messages postés42Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention12 août 2003 3 juin 2002 à 14:01
ç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...
Vous n’avez pas trouvé la réponse que vous recherchez ?