Effacer certains enregistrements d'une base de données

Résolu/Fermé
Signaler
Messages postés
103
Date d'inscription
lundi 18 décembre 2017
Statut
Membre
Dernière intervention
16 décembre 2021
-
Messages postés
103
Date d'inscription
lundi 18 décembre 2017
Statut
Membre
Dernière intervention
16 décembre 2021
-
Bonjour,
J'ai une table qui contient plusieurs enregistrements et je veux effacer seulement certains.
Alors je recherche le code VBA qui peut m'aider dans ce sens.
Exemple ma table a les champs suivants
[ETT1]
[AEM1]
[DICTEE1]
[MATH1]
Ensuite
[ETT2]
[AEM2]
[DICTEE2]
[MATH2]
puis
[ETT3]
[AEM3]
[DICTEE3]
[MATH3]
je veux effacer seulement que les enregistrements de
[ETT2]
[AEM2]
[DICTEE2]
[MATH2]
Tout en espérant ne pas trop vous en demander je vous prie de bien vouloir recevoir toute ma gratitude.

"Celui qui demande apprend beaucoup."

1 réponse

Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022
1 002
bonjour, tu écris que tu veux effacer des enregistrements.
cependant, j'ai l'impression que les noms que tu donnes sont des noms de champs, ce qui donne l'impression que tu veux effacer des champs, et pas des enregistrements.
peux-tu clarifier?
si tu veux effacer des champs, veux-tu les effacer dans tous les enregistrements, ou seulement dans une partie des enregistrements?
peux-tu aussi expliquer pourquoi tu souhaites faire cela via un code VBA, plutôt que par une requête?
0
Messages postés
103
Date d'inscription
lundi 18 décembre 2017
Statut
Membre
Dernière intervention
16 décembre 2021

Bonjour Monsieur.
Effectivement ce sont des noms des champs. Mais je veux effacer les enregistrements contenus dans ces champs et pas les champs.
Je m'excuse d'avoir mal posé mon problème.
Je vous avais envoyé ma base. Dans cette base il y a 4 evaluations. (EVA1,EVA2, EB1 et EB2)
Je veux avoir la possibilité d'effacer par exemple les enregistrements (les notes) de EVA2 uniquement sans que les autres ne le soient.
Les champs de l'EVA2 sont donc
[ETT2]
[AEM2]
[DICT2]
[MATH2].
Je veux effacer les notes ou enregistrements qui sont dans ces champs.
Alors si possible par la requête alors je voudrais savoir comment?
Vous remerciant d'avance je vous réitère mes excuses et vous prie de recevoir tous mes remerciements pour toutes les aides que j'ai reçues de vous et de tous les autres membres de commentçamarche .
0
Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022
1 002 >
Messages postés
103
Date d'inscription
lundi 18 décembre 2017
Statut
Membre
Dernière intervention
16 décembre 2021

moi j'appelle "enregistrement" une ligne de la table. je dirais que tu veux effacer le contenu de certains champs.
je suggère alors ceci, si tu veux effacer des champs dans tous les enregistrements de la table:
UPDATE T_EVA1 SET ETT2 = Null, AEM2 = Null, DICT2=Null, MATH2 =Null;
0
Messages postés
103
Date d'inscription
lundi 18 décembre 2017
Statut
Membre
Dernière intervention
16 décembre 2021
>
Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022

Bonsoir.
Au fait c'est ça. Je voulais effacé le contenu de certains champs. Avec le code que vous m'aviez envoyé je peux effacer le contenu (les notes) des champs de l'évaluation 2 si je veux sans effacer ceux des autres et vice versa ou ainsi de suite.
Merci beaucoup ça marche comme d'habitude.
Aucun problème ne reste sans solution avec vous.
Aussi j'ai simplement remplacé dans ce code null par 0 pour que les zero s'affichent en lieu et place du vide et c'est parfait.
J'ai créé un nouveau Compte Gmail pour recevoir uniquement les courriers et reponses de commentcamarche.
Merci encore.
Bonne nuit.
0
Messages postés
103
Date d'inscription
lundi 18 décembre 2017
Statut
Membre
Dernière intervention
16 décembre 2021
>
Messages postés
18298
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
22 janvier 2022

Bonsoir.
Une precision.
Quand j'utilise seul ce code
UPDATE T_EVA1 SET ETT2 = Null, AEM2 = Null, DICT2=Null, MATH2 =Null;
Je reçois cette boite de dialogue:"Erreur de compilation: Attendu:Fin d'instruction"
Puis SET est sélectionné en bleu.
Alors j'ai adapté ce code à ceci pour que ça fonctionne.
J'ai fais:
DoCmd.RunSql "UPDATE T_EVA1 SET ETT2 = Null, AEM2 = Null, DICT2=Null, MATH2 =Null;"
Et ça marche à merveille quand bien même j'ai remplacé Null par 0.
Merci beaucoup une fois de plus.
0