{Access} Comment rediger cette condition...

guillaumedt -  
Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis actuellement entrain de créer une BDD client mais je suis confronte au problème suivant : Dans ma table Customers, il y a des clients, mais aussi des prospect, c est a dire des personne qui n ont rien acheter mais qui ont laisse leurs mails.

Je voudrais creer une requete qui me fasse apparaitre tout les prospects, autrement dit, il faut que la requete fasse apparaitre tout les clients qui n apparaissent pas dans le resultat de la requete HistoriqueDeVente ou on peut voir tout les achats des clients.

J espère que j ai été assez clair...

Est ce que quelqun pourrait maider ?

Merci,

Guillaume

8 réponses

Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
Bonjour guillaumedt,

Il semble que votre besoin puisse être satisfait avec une requête de non correspondance ...

Démarche :

- Requête
- Nouveau
- Assistant requête de non-correspondance / Ensuite démarche en pas à pas .... (bien faite)


Cordialement
0
guillaumedt
 
Bonjour,

Merci pour cette réponse rapide, je pensais que le probleme allez être super complique...

Visiblement, c'est bien cette option qu'il faut utiliser, par contre lorsque je l'applique, elle me donne le résultat contraire : J'ai une table avec tout mes consommateurs (300) et une autre avec tout mes consommateurs+Prospect (301), je devrais normalement obtenir une ligne et je me retrouve avec un tableau de 300 lignes avec tout le monde sauf...mon prospect.

Est-ce normal ?
0
Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
guillaumedt,

Oui, c'est normal !
Pour obtenir le résultat spécifique que vous souhaitez, il faut indiquer ce que vous voulez exclure de la restitution (liste).

Autrement dit, il faut modifier la requête :
Dans la cellule critères de la colonne choisie, vous pouvez saisir (c'est un exemple) : comme "*prospect*"
Alors, tous les enregistrements contenant la chaîne de caractères "prospect" seront listés.

A contrario, avec : pas comme "*prospect*" tous les enregistrement contenant la chaîne de caractère prospect seront ... ignorés ....

Cordialement
0
guillaumedt
 
Alors dans ce cas la, cela n'a rien a voir avec une requête de non correspondance, il suffit que je crée une requête me donnant que les prospects de la table client+prospect
Et c'est bien la le probleme, il n y a pas de champs prospect dans cette table car on ne peut savoir a priori si c'est un client ou un prospect. Cela est détermine par le fait que oui ou non, ils aient effectué un achat.

Pourtant, il semblerait, si on lis l'assistant de requête de non correspondance, que celle-ci convienne parfaitement car c'est écris "Vous pouvez chercher des clients n'ayant pas effectuer de commandes" et pourtant, impossible d'obtenir le résultat...

Merci

Guillaume
0

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

Posez votre question
guillaumedt
 
C'est vraiment étonnant d'ailleurs car je viens de créer une requête de non-correspondance pour trouver les produits qui n'ont pas été vendus et ça marche.

Pourquoi cela ne marche pas avec les clients qui n'ont rien acheter? c'est vraiment étrange car c'est exactement la même structure,non ?!

Merci

Guillaume
0
Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
guillaumedt,

En me relisant, je constate que j'ai répondu trop vite. En effet, ce n'est pas normal.....
Pouvez-vous faire un copier/coller de votre requête SQL et me la communiquer ?

Vous trouverez cette requête SQL en faisant : Clic droit sur la Requête/Mode création/Affichage mode SQL ...

Tout laisse présumer qu'il y erreur de syntaxe, voire de logique ...

Cordialement

La science ne fait que trouver ce qui existe depuis toujours.
REEVES Hubert.
0
guillaumedt
 
Tout d'abord, merci beaucoup de t'intéresser a mon probleme, voici la requête SQL :

SELECT CustomersProspects.CustomerId, CustomersProspects.CustomerName, CustomersProspects.Birthday, CustomersProspects.email, CustomersProspects.[Newsletters?], CustomersProspects.Address, CustomersProspects.ZipCode, CustomersProspects.Mobile, CustomersProspects.comp_tel1, CustomersProspects.comp_tel2, CustomersProspects.tel1, CustomersProspects.JobPosition, CustomersProspects.Company, CustomersProspects.NumberOfChildren, CustomersProspects.Name1, CustomersProspects.Birthday1, CustomersProspects.Name2, CustomersProspects.Birthday2, CustomersProspects.Name3, CustomersProspects.Birthday3, CustomersProspects.Preferences, CustomersProspects.WineKnowledge, CustomersProspects.Satisfaction, CustomersProspects.RecordDate, CustomersProspects.Champ25, CustomersProspects.remark
FROM CustomersProspects LEFT JOIN Sales ON CustomersProspects.[CustomerId] = Sales.[CustomerId]
WHERE (((Sales.CustomerId) Is Null));

Le résultat est vraiment étrange, dans ma table CustomerProspect, jai deux prospects, et dans le résultat de ma requete de non correspondance, j'ai tout mes customers et 1 seul des deux prospects...

Guillaume
0
guillaumedt
 
Toutes mes excuses,

Je vous embête pour rien, ma requête marche, j'avais mal lu le résultat.

Merci encore,

Guillaume
0
Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
Bonjour guillaumedt,

C'est noté
Merci pour l'information, je me perdais en conjectures ....

Cordialement
0