OVH Cloud OVH Cloud

Colle SQL sous access 97

3 réponses
Avatar
d.syllebranque
Bonjour à tous,

j'ai une colle sous access 97 et j'aimerais bien m'en sortir sans le
visual basic. Voila mon problème :

1°) Je dispose d'une table "MesBonhommes" comme suit :

Prénom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Foncé
Clément Vert Foncé
Clément Rouge Clair
Clément Rouge Foncé
Stéphane Vert Clair
Stéphane Vert Foncé
Stéphane Rouge Clair
Stéphane Rouge Foncé


La structure de cette table est figée, je ne peux pas y toucher, c'est
une contrainte que l'on m'impose (evidement, c'est un exemple, ce ne
sont pas mes *vrais* tables)


2°) Je dispose d'une table "PantalonsAMettre" comme suit :

PremierChoix DeuxièmeChoix
------------ -------------
Vert Clair Vert Foncé
Rouge Clair Rouge Foncé


3°) Ben je veux faire une requête "BonhommesFiltrés" qui me sorte les
enregistrements de "Bonhommes" ayant un pantalon correspondant au
champ 'PremierChoix' OU A DEFAUT au champ 'DeuxièmeChoix'. C'est le "A
DEFAUT" qui m'embête... La requête doit me sortir les enregistrement
suivants :

Prénom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Foncé
Clément Vert Foncé
Clément Rouge Clair
Stéphane Vert Clair
Stéphane Rouge Clair

Voila voila, si il y a un génie du SQL parmis vous, ben le remercie
d'avance en lui tirant mon chapeau, parce que moi, je sèche depuis
deux jours...

Merci merci.

3 réponses

Avatar
Fred M
Vroudediou !...
Je pense (j'espère) avoir trouvé une alternative à ton
pbme sans passer par VBA. Il va qd-mm falloir que tu te
coltines la requête SQL à la main car l'assistant ne peut
faire pour toi ds ce cas :

SELECT * from MesBonhommes
WHERE pantalon IN
(select PremierChoix from PantalonsAMettre)
UNION
SELECT * from MesBonhommes
WHERE pantalon IN
(select DeuxièmeChoix from PantalonsAMettre)

It should be good...
Dis-moi si une contrainte vient contrecarrer ma
proposition.
Bon courage.

Fred M.
Formateur développement & BDD.

-----Message d'origine-----
Bonjour à tous,

j'ai une colle sous access 97 et j'aimerais bien m'en
sortir sans le

visual basic. Voila mon problème :

1°) Je dispose d'une table "MesBonhommes" comme suit :

Prénom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Foncé
Clément Vert Foncé
Clément Rouge Clair
Clément Rouge Foncé
Stéphane Vert Clair
Stéphane Vert Foncé
Stéphane Rouge Clair
Stéphane Rouge Foncé


La structure de cette table est figée, je ne peux pas y
toucher, c'est

une contrainte que l'on m'impose (evidement, c'est un
exemple, ce ne

sont pas mes *vrais* tables)


2°) Je dispose d'une table "PantalonsAMettre" comme suit :

PremierChoix DeuxièmeChoix
------------ -------------
Vert Clair Vert Foncé
Rouge Clair Rouge Foncé


3°) Ben je veux faire une requête "BonhommesFiltrés" qui
me sorte les

enregistrements de "Bonhommes" ayant un pantalon
correspondant au

champ 'PremierChoix' OU A DEFAUT au
champ 'DeuxièmeChoix'. C'est le "A

DEFAUT" qui m'embête... La requête doit me sortir les
enregistrement

suivants :

Prénom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Foncé
Clément Vert Foncé
Clément Rouge Clair
Stéphane Vert Clair
Stéphane Rouge Clair

Voila voila, si il y a un génie du SQL parmis vous, ben
le remercie

d'avance en lui tirant mon chapeau, parce que moi, je
sèche depuis

deux jours...

Merci merci.
.



Avatar
Pierre CFI
bonjour
c'est pas tellemnt le sql qui me bloque, mais tout, rien compris
quelle différence entre ce que tu as et ce que tu veux
:O))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"David SYLLEBRANQUE" a écrit dans le message de news:
Bonjour à tous,

j'ai une colle sous access 97 et j'aimerais bien m'en sortir sans le
visual basic. Voila mon problème :

1°) Je dispose d'une table "MesBonhommes" comme suit :

Prénom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Foncé
Clément Vert Foncé
Clément Rouge Clair
Clément Rouge Foncé
Stéphane Vert Clair
Stéphane Vert Foncé
Stéphane Rouge Clair
Stéphane Rouge Foncé


La structure de cette table est figée, je ne peux pas y toucher, c'est
une contrainte que l'on m'impose (evidement, c'est un exemple, ce ne
sont pas mes *vrais* tables)


2°) Je dispose d'une table "PantalonsAMettre" comme suit :

PremierChoix DeuxièmeChoix
------------ -------------
Vert Clair Vert Foncé
Rouge Clair Rouge Foncé


3°) Ben je veux faire une requête "BonhommesFiltrés" qui me sorte les
enregistrements de "Bonhommes" ayant un pantalon correspondant au
champ 'PremierChoix' OU A DEFAUT au champ 'DeuxièmeChoix'. C'est le "A
DEFAUT" qui m'embête... La requête doit me sortir les enregistrement
suivants :

Prénom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Foncé
Clément Vert Foncé
Clément Rouge Clair
Stéphane Vert Clair
Stéphane Rouge Clair

Voila voila, si il y a un génie du SQL parmis vous, ben le remercie
d'avance en lui tirant mon chapeau, parce que moi, je sèche depuis
deux jours...

Merci merci.


Avatar
d.syllebranque
Bonjour Fred,

Merci pour ta réponse, j'ai essayé ta proposition, mais elle ne
fonctionne pas. La requête me renvoie tous les enregistrements
présents dans ma table "Bonhommes".

En réponse à pierre, le problème posé en termes plus littéraire
correspond à ceci,

Pour chaque prénom de "Bonhommes", je souhaite sélectionner tous les
enregistrement correspondant au champ "PremierChoix" de la table
"PantalonsAMettre". Si pour un ou plusieurs prénoms données le premier
choix n'existe pas, sortir les enregistrement correspondant au
deuxième choix.

En l'occurence, Le résultat de la requête doit être le suivant :
Arnaud => VertClair (ok, PremierChoix existe, on prend)
Arnaud => RougeFonce (ok, car RougeClair n'existe pas pour arnaud, on
prend)
Clement=> VertFonce (ok, Pas de premierchoix "vertclair" pour clement)
Clement=> RougeClair (ok, premierchoix "rougeclair" existe, on prend)
Clement=> RougeFonce *NE DOIT PAS SORTIR* car RougeClair existe pour
Clement
Stephane=>VertClair (ok, premierchoix, on prend)
Stephane=>VertFonce *NE DOIT PAS SORTIR* car VertClair existe pour
stephane
Stephane=>RougeClair (ok, premierCHoix, on prend)
Stephane=>RougeFonce *NE DOIT PAS SORTIR* car RougeClair existe pour
stephane.

Voila, je suis désolé, je pense que je n'arriverais pas à mieux
expliquer mon problème.

Merci pour votre aide.

"Fred M" wrote in message news:<17c401c38731$9eafe260$...
Vroudediou !...
Je pense (j'esp re) avoir trouv une alternative ton
pbme sans passer par VBA. Il va qd-mm falloir que tu te
coltines la requ te SQL la main car l'assistant ne peut
faire pour toi ds ce cas :

SELECT * from MesBonhommes
WHERE pantalon IN
(select PremierChoix from PantalonsAMettre)
UNION
SELECT * from MesBonhommes
WHERE pantalon IN
(select Deuxi meChoix from PantalonsAMettre)

It should be good...
Dis-moi si une contrainte vient contrecarrer ma
proposition.
Bon courage.

Fred M.
Formateur d veloppement & BDD.

-----Message d'origine-----
Bonjour tous,

j'ai une colle sous access 97 et j'aimerais bien m'en
sortir sans le

visual basic. Voila mon probl me :

1 ) Je dispose d'une table "MesBonhommes" comme suit :

Pr nom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Fonc
Cl ment Vert Fonc
Cl ment Rouge Clair
Cl ment Rouge Fonc
St phane Vert Clair
St phane Vert Fonc
St phane Rouge Clair
St phane Rouge Fonc


La structure de cette table est fig e, je ne peux pas y
toucher, c'est

une contrainte que l'on m'impose (evidement, c'est un
exemple, ce ne

sont pas mes *vrais* tables)


2 ) Je dispose d'une table "PantalonsAMettre" comme suit :

PremierChoix Deuxi meChoix
------------ -------------
Vert Clair Vert Fonc
Rouge Clair Rouge Fonc


3 ) Ben je veux faire une requ te "BonhommesFiltr s" qui
me sorte les

enregistrements de "Bonhommes" ayant un pantalon
correspondant au

champ 'PremierChoix' OU A DEFAUT au
champ 'Deuxi meChoix'. C'est le "A

DEFAUT" qui m'emb te... La requ te doit me sortir les
enregistrement

suivants :

Pr nom Pantalon
------ --------
Arnaud Vert Clair
Arnaud Rouge Fonc
Cl ment Vert Fonc
Cl ment Rouge Clair
St phane Vert Clair
St phane Rouge Clair

Voila voila, si il y a un g nie du SQL parmis vous, ben
le remercie

d'avance en lui tirant mon chapeau, parce que moi, je
s che depuis

deux jours...

Merci merci.
.