Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête pour vendre des produits non vendus à des clients!

5 réponses
Avatar
Fabien
Bonjour à tous,

La réponse sera peut être simple mais comme je ne trouve pas...Je pose la
question.

Pour exemple :

Soit une table clients et une sous table locations de dvd pour ces clients.
Comment effectuer une requête me permettant de cibler tous les clients
n'ayant pas vu le dvd "xyz" par une requête parametrée?

Le truc qui me bloque c'est que je ne retire du résultat que les sous
enregistrements mais pas le client...

J'éspère avoir été clair dans ma formulation et vous souhaite une bonne
continuation
--
Fabien, qui cordialement vous remercie....

5 réponses

Avatar
Raymond [mvp]
Bonjour.

il faut faire une requête de non-correspondance, par exemple:
SELECT clients.Numéro, clients.Lenom, clients.Adresse
FROM clients LEFT JOIN locations ON clients.Numéro = locations.Numéro
WHERE (((locations.Numéro) Is Null));
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fabien" a écrit dans le message de news:

Bonjour à tous,

La réponse sera peut être simple mais comme je ne trouve pas...Je pose la
question.

Pour exemple :

Soit une table clients et une sous table locations de dvd pour ces
clients.
Comment effectuer une requête me permettant de cibler tous les clients
n'ayant pas vu le dvd "xyz" par une requête parametrée?

Le truc qui me bloque c'est que je ne retire du résultat que les sous
enregistrements mais pas le client...

J'éspère avoir été clair dans ma formulation et vous souhaite une bonne
continuation
--
Fabien, qui cordialement vous remercie....


Avatar
Fabien
Merci Monsieur Raymond pour votre diligente réponse...
Mais Je ne suis pas du tout bon en sql
Donc j'ai écris ceci dans ma requête selection

SELECT clients.nclient, clients.nom, clients.prenom, contrats.ncontrat,
contrats.lclient, contrats.contrats, contrats.commercial
FROM clients LEFT JOIN contrats ON clients.nclient = contrats.lclient
WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));

Avant ou après la demande contrat je n'obtiens rien...
J'ai du louper qqchose mais mystères et boules de gomme, je ne sais pas
quoi...

Merci d'avance pour votre précieuse aide

Fabien


Bonjour.

il faut faire une requête de non-correspondance, par exemple:
SELECT clients.Numéro, clients.Lenom, clients.Adresse
FROM clients LEFT JOIN locations ON clients.Numéro = locations.Numéro
WHERE (((locations.Numéro) Is Null));
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fabien" a écrit dans le message de news:

Bonjour à tous,

La réponse sera peut être simple mais comme je ne trouve pas...Je pose la
question.

Pour exemple :

Soit une table clients et une sous table locations de dvd pour ces
clients.
Comment effectuer une requête me permettant de cibler tous les clients
n'ayant pas vu le dvd "xyz" par une requête parametrée?

Le truc qui me bloque c'est que je ne retire du résultat que les sous
enregistrements mais pas le client...

J'éspère avoir été clair dans ma formulation et vous souhaite une bonne
continuation
--
Fabien, qui cordialement vous remercie....







Avatar
Raymond [mvp]
dans la clause where il me semble que le test n'est pas bon:

WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));


je pense qu'il doit falloir un test Or au lieu de And , et pourquoi faire
composer le type de contrat qu'on ne veut pas (not like) alors qu'en général
on fait composer le contrat que l'on désire traiter.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fabien" a écrit dans le message de news:

Merci Monsieur Raymond pour votre diligente réponse...
Mais Je ne suis pas du tout bon en sql
Donc j'ai écris ceci dans ma requête selection

SELECT clients.nclient, clients.nom, clients.prenom, contrats.ncontrat,
contrats.lclient, contrats.contrats, contrats.commercial
FROM clients LEFT JOIN contrats ON clients.nclient = contrats.lclient
WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));

Avant ou après la demande contrat je n'obtiens rien...
J'ai du louper qqchose mais mystères et boules de gomme, je ne sais pas
quoi...

Merci d'avance pour votre précieuse aide

Fabien



Avatar
Fabien
Bonjour,

Suis vraiment désolé...
Mais après moult essais, le problème n'est pas résolu ni avec and ou or...
Le not like correspondait a enlever tous les clients ayant deja contracté un
type de contrat.

L'idée est d'obtenir la liste de tous les clients n'ayant pas contracté un
type de contrat. donc d'exclure par exemple Mr. Paul qui a deja contracte un
contrat de type x un autre de type y en interrogeant la liste.

Mon problème est que ma requête m'enlève bien m. Paul contrat x si je
demande dans ma requete Not Like "x", mais pas M. Paul contrat y.

Donc ma requete doit enlever toute les lignes concernant les contrats de
M.paul si une de ces lignes comporte le contrat x.

Voila !!! Et je suis désolé de ne pas avoir été plus clair auparavant...
Merci de votre aide !!

A+

Fabien




dans la clause where il me semble que le test n'est pas bon:

WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));


je pense qu'il doit falloir un test Or au lieu de And , et pourquoi faire
composer le type de contrat qu'on ne veut pas (not like) alors qu'en général
on fait composer le contrat que l'on désire traiter.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fabien" a écrit dans le message de news:

Merci Monsieur Raymond pour votre diligente réponse...
Mais Je ne suis pas du tout bon en sql
Donc j'ai écris ceci dans ma requête selection

SELECT clients.nclient, clients.nom, clients.prenom, contrats.ncontrat,
contrats.lclient, contrats.contrats, contrats.commercial
FROM clients LEFT JOIN contrats ON clients.nclient = contrats.lclient
WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));

Avant ou après la demande contrat je n'obtiens rien...
J'ai du louper qqchose mais mystères et boules de gomme, je ne sais pas
quoi...

Merci d'avance pour votre précieuse aide

Fabien








Avatar
Raymond [mvp]
Bonjour.

ça revient à faire ce que tu avais indiqué en premier:
WHERE (((contrats.ncontrat) Is Null) mais il faut agrandir ta sélection des
champs par tous les champs que tu as besoin.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fabien" a écrit dans le message de news:

Bonjour,

Suis vraiment désolé...
Mais après moult essais, le problème n'est pas résolu ni avec and ou or...
Le not like correspondait a enlever tous les clients ayant deja contracté
un
type de contrat.

L'idée est d'obtenir la liste de tous les clients n'ayant pas contracté un
type de contrat. donc d'exclure par exemple Mr. Paul qui a deja contracte
un
contrat de type x un autre de type y en interrogeant la liste.

Mon problème est que ma requête m'enlève bien m. Paul contrat x si je
demande dans ma requete Not Like "x", mais pas M. Paul contrat y.

Donc ma requete doit enlever toute les lignes concernant les contrats de
M.paul si une de ces lignes comporte le contrat x.

Voila !!! Et je suis désolé de ne pas avoir été plus clair auparavant...
Merci de votre aide !!

A+

Fabien




dans la clause where il me semble que le test n'est pas bon:

WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));


je pense qu'il doit falloir un test Or au lieu de And , et pourquoi faire
composer le type de contrat qu'on ne veut pas (not like) alors qu'en
général
on fait composer le contrat que l'on désire traiter.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://users.skynet.be/mpfa/ pour débuter sur le forum


"Fabien" a écrit dans le message de
news:

Merci Monsieur Raymond pour votre diligente réponse...
Mais Je ne suis pas du tout bon en sql
Donc j'ai écris ceci dans ma requête selection

SELECT clients.nclient, clients.nom, clients.prenom, contrats.ncontrat,
contrats.lclient, contrats.contrats, contrats.commercial
FROM clients LEFT JOIN contrats ON clients.nclient = contrats.lclient
WHERE (((contrats.ncontrat) Is Null) AND ((contrats.contrats) Not Like
[Saisir ici le type de contrat]));

Avant ou après la demande contrat je n'obtiens rien...
J'ai du louper qqchose mais mystères et boules de gomme, je ne sais pas
quoi...

Merci d'avance pour votre précieuse aide

Fabien