Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/01/2012, 09h25   #1
Invité de passage
 
Inscription : novembre 2002
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 6
Points : 3
Points : 3
Par défaut gestion de cartouche, feuille etat requete sql pour déduire les cartouche manquan.te

bonjour a tous,

bonne année et meilleur voeux,

j'ai un problème a vous soumettre.
je cherche a créer une feuille d'état regroupant les cartouche manquante de tel présentation

etat des cartouche manquante :

Noir :
hp deskjet 831
canon pixmia

cyan :
lexmark x460
hp xxx

yellow :
lexmark x460
hp xxx

Magenta :
lexmark x460
samsung yyy



sachant que mes table s'articule comme ceci

Table imprimante :
N° (auto) < numérique >
marque <texte>
modèle <texte>
couleur <bool (oui/non)>



Table cartouche :
N°(auto) < numérique >
marque<texte>
modèle <texte>
couleur <liste (Noir,Cyan,Magenta,Yellow,Trichromique)>
imprimante compatible <liste a cocher multivaleur, lié au champ marque et modele de la table imprimante)


sachant que les imprimantes peuvent être monochrome donc :
si champ imprimante.couleur= non
ne pas teste la presence du cyan magenta yellow ou trichromique dans cartouche.couleur


tenir compte qu'une cartouche peu etre trichromique donc si la cartouche presente est trichromique alors de ne pas teste sa presence dans cyan, magenta yellow.

je cherche une ou plusieur requete sql capable de faire ses test.

merci a tous
markham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 14h36   #2
Futur Membre du Club
 
Homme
Développeur informatique
Inscription : août 2009
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2009
Messages : 15
Points : 17
Points : 17
Salut,

j'espère que j'ai tout compris. Suivant tes explications je suis partis du fait que tu liste les imprimante qui n'ont plus de cartçouche.

voici ce que je te propose pour lister tes imprimante, le code SQL est à remanier pour répondre exactement aux résultat que tu souhaite en sorti

Code :
1
2
3
4
5
6
7
8
 
select * 
from imprimante I inner join cartouche C on I.marque=C.marque and I.modele=C.modele
where I.couleur=false
 
select * 
from imprimante I inner join cartouche C on I.marque=C.marque and I.modele=C.modele
where C.couleur='Trichromique'
Eskehnach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 19h11   #3
Invité de passage
 
Inscription : novembre 2002
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 6
Points : 3
Points : 3
Citation:
Suivant tes explications je suis partis du fait que tu liste les imprimante qui n'ont plus de cartçouche.
merci pour ta reponse
c'est exactement cela,

je me suis tromper sur la liaison entre les table :
la liaison se fait en fait entre le champ cartouche.[imprimante compatible].value et le champs imprimante.[N°] (le champs cartouche.[imprimante compatible].value étant caché par access, je n'ai pu y faire attetion que lorsque j'ai genere une requete sql avec l'assistant).

donc je recapitule en pseudo algo sql ce que je cherche :

test absence des cartouche Noir :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
SELECTIONNE tout les imprimante dont le champ imprimante.[] n'apparait  dans aucune cartouche.[imprimante compatible].value ayant la propriete cartouche.[couleur]=Noir
 
test absence des cartouche Cyan :
 
SELECTIONNE les imprimante donc le champ imprimante.[couleur]=True dont le champ imprimante.[] n'apparait  pas dans [imprimante compatible].value ayant la propriete cartouche.[couleur]=Cyan ou cartouche.[couleur]=Trichromique
 
test absence des cartouche Yellow :
 
SELECTIONNE les imprimante donc le champ imprimante.[couleur]=True dont le champ imprimante.[] n'apparait  pas dans cartouche.[imprimante compatible].value ayant la propriete cartouche.[couleur]=Yellow ou cartouche.[couleur]=Trichromique
 
 
test absence cartouche Magenta :
 
SELECTIONNE les imprimante donc le champ imprimante.[couleur]=True dont le champ imprimante.[] n'apparait  pas dans cartouche.[imprimante compatible].value ayant la propriete cartouche.[couleur]=Cyan ou cartouche.[couleur]=Trichromique
merci d'avance
markham est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2012, 22h46   #4
Invité de passage
 
Inscription : novembre 2002
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 6
Points : 3
Points : 3
apres quelque recherche je pense que mes requete son bonne, mais j'ai de matiere pour tester, si quelqun pouvez me confirmer que ce la pourrais fonctionné sous access je l'en remercirai :

EDIT: ça fonctionne !!!


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cartouche Noir :
 
SELECT imprimante.[marque], imprimante.[modele] FROM imprimante WHERE imprimante.[] NOT IN (SELECT cartouche.[imprimante compatible].value FROM cartouche WHERE cartouche.[couleur]='Noir') ;
 
cartouche Cyan :
 
SELECT imprimante.[marque], imprimante.[modele] FROM imprimante WHERE imprimante.[couleur]=True AND  imprimante.[] NOT IN (SELECT cartouche.[imprimante compatible].value From cartouche WHERE cartouche.[couleur]='Cyan' OR cartouche.[couleur]='Trichromique') ;
 
cartouche Yellow :
 
SELECT imprimante.[marque], imprimante.[modele] FROM imprimante WHERE imprimante.[couleur]=True AND  imprimante.[] NOT IN (SELECT cartouche.[imprimante compatible].value From cartouche WHERE cartouche.[couleur]='Yellow' OR cartouche.[couleur]='Trichromique') ;
 
 
cartouche Magenta :
 
SELECT imprimante.[marque], imprimante.[modele] FROM imprimante WHERE imprimante.[couleur]=True AND  imprimante.[] NOT IN (SELECT cartouche.[imprimante compatible].value From cartouche WHERE cartouche.[couleur]='Magenta' OR cartouche.[couleur]='Trichromique') ;
markham est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h18.


 
 
 
 
Partenaires

Hébergement Web