Access problème avec requete delete

microsoluces Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
blux Messages postés 27170 Date d'inscription   Statut Modérateur Dernière intervention   -
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)
A voir également:

6 réponses

hssissen Messages postés 844 Date d'inscription   Statut Membre Dernière intervention   50
 
Salut,
Dis nous ce qui se passe quand tu executes ta 1ere requete!
0
microsoluces Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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 27170 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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   Statut Membre Dernière intervention   4
 
Blux mon sauveuuuuuuuuuuur !

Encore une fois merci !
0
jacky
 
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 27170 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
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