Access 2007 Supprimer tous les champs qui contiennet une certaine valeur

mjsm Messages postés 19 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 6 avril 2016 - 21 mars 2013 à 09:46
mjsm Messages postés 19 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 6 avril 2016 - 21 mars 2013 à 15:14
Bonjour
Je travaille sous access 2007.

J'ai une table "T_Auto" dont les noms de champs sont des noms de voiture sous la forme case à cocher : Safranne, Panda, Punto etc

Je souhaite supprimer les champs qui contiennent -1

A cet effet j'ai crée ce bouton sur un formulaire

Private Sub Commande55_Click()
If Me!Safranne = -1 Then
CurrentDb.Execute "Alter Table Toto Drop Column Safranne;"
End If
End Sub

Mais je ne sais pas supprimer tous les champs qui contiennent -1 indépendamment de leur nom.

Pourriez-vous m'aider ?

4 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
21 mars 2013 à 11:27
Bonjour,
je ne comprends pas cette phrase :
Je souhaite supprimer les champs qui contiennent -1

Que veux-tu dire ? Car ce que tu as "écrit" signifie la suppression de champs d'une table (sa structure même). Et on ne peux alors supprimer des champs en fonction de leur contenu. Ces champs sont tous dans la table, ou aucun !
Explique donc ce que tu as cherché à dire.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
mjsm Messages postés 19 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 6 avril 2016
21 mars 2013 à 11:58
Merci de ta réponse.
Oui, je cherche à supprimer un champ et non pas un enregistrement.

Supprimer un champ c'est possible mais il faut le nommer. (Voir mon petit code)

Je cherche à supprimer tous les champs d'une table qui contiennent "-1" sans les nommer.

Merci d'avance
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
21 mars 2013 à 12:56
Oui, je cherche à supprimer un champ et non pas un enregistrement

Donc toucher à la structure même de ta table, en en [u]supprimant un chanp
/u
et ceci, dans ces conditions, n'a alors aucun sens :
Je souhaite supprimer les champs qui contiennent -1

Aucune table ne saurait être composée d'un nombre de champs différents, selon que ... ou que ...
Je suis certain de ce que tu veux dire autre chose, et attends donc que tu l'exprimes enfin !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
mjsm Messages postés 19 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 6 avril 2016
21 mars 2013 à 15:14
Tu cherches à savoir pourquoi alors que moi je cherche à savoir comment?
Je repose ma question autrement :

Solution 1 qui fonctionne pour un champ qui s'appelle Safranne.Mais que je ne peux pas réécrire pour chaque chmp de ma table vu leur nombre.

Private Sub Commande55_Click()
If Me!Safranne = -1 Then
CurrentDb.Execute "Alter Table Auto Drop Column Safranne;"
End If
End Sub

[uSolution 2 qui fonctionnerait pour n'importe quel champ :/u
Select tous les champs qui contiennent -1
Supprime ces champs

Ok, ces champs disparaitrons irrémédiablement et c'est ce que je souhaite

Tant pis si tu ne connais pas de réponse.
Merci encore pour ton aide.
0
Rejoignez-nous