Bonjour à tous ...
J'ai créer un code qui me permet de supprimer des enregistrements dans une table tant que cela répond à ma requête de sélection.
Voici mon code :
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 26 27
| 'DESTINATION
Set rst_MouvementDestination = base_donnee.OpenRecordset("TB_DESTINATIONS")
str_ReqMouvementDestination = ("SELECT * FROM TB_DESTINATIONS WHERE pk_fk_mouvement_destination LIKE '" & _
var_PkMouvement & "';")
Set rst_MouvementDestination = base_donnee.OpenRecordset(str_ReqMouvementDestination, dbOpenDynaset)
'Tant qu'il y a des enregistrements
While (rst_MouvementDestination.RecordCount > 0)
Do Until rst_MouvementDestination.EOF
rst_MouvementDestination.MoveLast
rst_MouvementDestination.MoveFirst
'SUPPRESSION DE L'ENREGISTREMENT
rst_MouvementDestination.Delete
rst_MouvementDestination.MoveNext
Loop
Wend
rst_MouvementDestination.Close
Set rst_MouvementDestination = Nothing |
Lorsque j'exécute mon code en mettant par exemple un point d'arrêt sur :
While (rst_MouvementDestination.RecordCount > 0)
puis en pressant F8 jusqu'à la fin, mon programme s'exécute correctement et tous les enregistrements qui correspondent à ma requête de sélection sont supprimés.
Mon problème est le suivant, si je ne mets pas de point d'arrêt dans mon code, il s'éxécute sans provoquer d'erreur mais tous mes enregistrements ne sont pas supprimés ... je ne comprends pas pourquoi ... si vous avez une idée, elle est la bienvenue ...
Merci de votre aide ... et à tout bientôt ...
Partager