Access problème avec requete delete

Fermé
microsoluces Messages postés 35 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 7 juillet 2014 - 13 oct. 2006 à 17:55
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 - 24 juin 2008 à 12:56
Ba encore moi,

Il me manque juste une chose pour finir ma moulinette, pis après j'emm... plus personne :

je voudrait supprimer de ma table PRODUIT tous les articles n'ayant pas été modifiés (champ vide) et dont la quantité en stock est égale à 0. J'ai écrit ça dans une requete SUPPRESSION :

DELETE code FROM produit
WHERE modif="" AND stock=0;


Mais ca ne marche po !

Seul cette requete fonctionne mais ne me convient pas :
DELETE CODE
FROM EBP
WHERE STOCK=0;

Merci d'avance....
(M'énerve cet ACCESS)

6 réponses

hssissen Messages postés 844 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 9 janvier 2017 50
13 oct. 2006 à 21:03
Salut,
Dis nous ce qui se passe quand tu executes ta 1ere requete!
0
microsoluces Messages postés 35 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 7 juillet 2014 4
14 oct. 2006 à 10:06
Salut,

Ba en fait il ne se passe rien. La requete me dit 0 objets supprimés.
J ai pensé que MODIF pour un nom de champs pouvait preter à confusion avec un nom de commande, je l 'ai remplacé par XXX, cela n a rien changé. J'ai aussi remplacé ="" par =NULL, puis par =0 cela n a rien changé non plus.

Voici ma requete actuellement :

DELETE CODE
FROM EBP
WHERE XXX=NULL;

code=champs de EBP avec clé primaire
EBP = table produit
XXX=champ qui peut etre vide et sur lequel je fais ma requete...

Merci
0
microsoluces Messages postés 35 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 7 juillet 2014 4
16 oct. 2006 à 15:50
Il semblerait selon mes recherches qu'il est préférable de supprimer l'enregistrement d'une table d'après une requete sur un champ rempli que vide... Surtout si les informations contenues dans cette table proviennent d'importation, même réussie, d'un ficher EXCEL en CSV !

Je vais plutôt importer une table PRODUIT avec le champ XXX contenant "EBP". Si ce champ n'est pas modifié et que le produit n'est pas en stock, alors on devrait pouvoir le supprimer !


A moins que quelqu un puisse m'aider autrement !

Merci...
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
16 oct. 2006 à 16:37
Salut,

ton champ modif n'est peut-être pas vide, mais peut-être NULL (il n'a jamais contenu de données)...
Il y a une différence au niveau informatique entre : ne contient rien ("") et n'a jamais été initialisé (NULL, voir undefined pour certains SGBD)...

Avec ACCESS, NULL ne se teste pas en valeur mais avec une fonction
DELETE *
FROM EBP
WHERE isnull(MODIF);
Ca devrait aller mieux...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
microsoluces Messages postés 35 Date d'inscription samedi 23 septembre 2006 Statut Membre Dernière intervention 7 juillet 2014 4
17 oct. 2006 à 10:14
Blux mon sauveuuuuuuuuuuur !

Encore une fois merci !
0
Bonjour,
j'ai rencontré un problème dans l'éxecution de la fonction DELETE de SQL avec plusieurs champs.
en effet voici ma requête telle que saisie:
"DELETE *
FROM BON
WHERE [nom chauffeur]=mbiya;"
merci d'avance pour vos réponses
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
24 juin 2008 à 12:56
Comme tu n'indiques pas le type d'erreur, on va supposer que c'est parce que [nom chauffeur] est une zone de type alphanumérique et donc il faut mettre des guillemets (ou des quotes) sur la valeur testée...

WHERE [nom chauffeur]='mbiya';
ou
WHERE [nom chauffeur]="mbiya";
0