{Access} Comment rediger cette condition...

Fermé
guillaumedt - 11 juil. 2009 à 12:52
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 - 14 juil. 2009 à 21:19
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 mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
11 juil. 2009 à 13:30
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
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 mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
11 juil. 2009 à 16:31
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
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
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 mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
13 juil. 2009 à 21:48
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
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
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 mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
14 juil. 2009 à 21:19
Bonjour guillaumedt,

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

Cordialement
0