Suppression d'enregistrements
Résolu
leaemileemma
Messages postés
38
Date d'inscription
Statut
Membre
Dernière intervention
-
leaemileemma Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
leaemileemma Messages postés 38 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
par le biais d'un code Vba que j'ai créé, je peux supprimer des enregistrements dans une table. Tout se passe bien si ce n'est que lorsque je vérifie ma table, à la place des champs de l'enregistrement supprimé apparaît "#supprimé"

et voici mon code :
Quelle peut en être la raison ? Suis je trop pressé ! ou dois faire une mise à jour avant de vérifier ?
Merci et bonne journée
par le biais d'un code Vba que j'ai créé, je peux supprimer des enregistrements dans une table. Tout se passe bien si ce n'est que lorsque je vérifie ma table, à la place des champs de l'enregistrement supprimé apparaît "#supprimé"

et voici mon code :
Set enregistrement = CurrentDb.OpenRecordset("SELECT * FROM T_Budget_Charges") ' WHERE Intitule_Charge = [Intitule]") While Not enregistrement.EOF If enregistrement![Intitule_Charge] = [Choix_Charge] Then enregistrement.Delete End If enregistrement.MoveNext Wend
Quelle peut en être la raison ? Suis je trop pressé ! ou dois faire une mise à jour avant de vérifier ?
Merci et bonne journée
Configuration: Windows / Chrome 74.0.3729.169
A voir également:
- Suppression d'enregistrements
- Forcer suppression fichier - Guide
- Suppression compte gmail - Guide
- Suppression page word - Guide
- Suppression pub youtube - Accueil - Streaming
- Suppression facebook - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, j'imagine que la table était affichée avant que la suppression ait eu lieu. je pense qu'il suffit de rafraîchir l'affichage.
ne serait-ce pas plus simple de faire une requête sql "delete"?
ne serait-ce pas plus simple de faire une requête sql "delete"?
strSQL = "Delete * FROM T_Budget_Charges WHERE Intitule_Charge= '" + [Choix_Charge] + "' " DoCmd.RunSQL strSQL
Je crois en effet qu'il faut terminer ce code en rafraîchissant la table et par la même occasion la liste déroulante.
mais comment la rafraîchir ? question bête et ridicule, mais je bloque ....
1) ma table est remplie à partir d'un formulaire de création
2) mais évidemment cette table est évolutive : on doit pouvoir modifier ou supprimer des enregistrements. j'ai donc créé un autre formulaire contenant une liste déroulante "Choix_Gharge" qui récupère les enregistrements de la table et en particulier le Champ "Intitule_Charge".
A partir du choix réalisé avec la liste déroulante je modifie ou supprime ainsi un ou plusieurs champs de la table. Pour supprimer j'utilise le code précédent.
Comme je le disais tout fonctionne si ce n'est qu'après une suppression je n'arrive pas à supprimer de façon définitive l'enregistrement concerné.
C'est tellement vrai que si je désire supprimer un deuxième enregistrement le précédent, que je viens de supprimer, est toujours présent dans ma liste bien que dans la table ses champs contiennent le fameux "#supprimé".
En ce qui concerne votre question : "la table était-elle affichée avant que la suppression ait eu lieu? par quoi est-elle affichée?" , je ne cherche pas à afficher la table ni avant, ni après la suppression. C'était par simple curiosité que je me suis aperçu du problème en ouvrant "manuellement" la table.
J'espère avoir été assez clair et vous remercie d'avoir accepté de vous intéresser à ma question
Bonne soirée
Jacques
Merci et bonne soirée