Effacer certains enregistrements d'une base de données

Résolu/Fermé
Zonteo Messages postés 105 Date d'inscription lundi 18 décembre 2017 Statut Membre Dernière intervention 3 juin 2022 - 9 janv. 2018 à 23:00
Zonteo Messages postés 105 Date d'inscription lundi 18 décembre 2017 Statut Membre Dernière intervention 3 juin 2022 - 14 janv. 2018 à 02:25
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

yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471
12 janv. 2018 à 04:27
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
Zonteo Messages postés 105 Date d'inscription lundi 18 décembre 2017 Statut Membre Dernière intervention 3 juin 2022 1
12 janv. 2018 à 08:52
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
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471 > Zonteo Messages postés 105 Date d'inscription lundi 18 décembre 2017 Statut Membre Dernière intervention 3 juin 2022
12 janv. 2018 à 23:33
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
Zonteo Messages postés 105 Date d'inscription lundi 18 décembre 2017 Statut Membre Dernière intervention 3 juin 2022 1 > yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024
14 janv. 2018 à 01:35
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
Zonteo Messages postés 105 Date d'inscription lundi 18 décembre 2017 Statut Membre Dernière intervention 3 juin 2022 1 > yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024
14 janv. 2018 à 02:25
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