Probléme de requête

Résolu
Jiben59 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   -  
 tessel75 -
Bonjour,

j'effectue une requête pour afficher tous les magasins de type de supermarché (codeMagasin = 1), et qui ce trouve dans le secteur 2 et 3.
Mais le problème c'est qu'il me mets les magasins de type 2 et 3, alors que je n'ai demandé que les type de magasin 1.

Voici mon SQL :
SELECT [Liste des magasins].NomMagasin, [Liste des magasins].Adresse, [Liste des magasins].CodePostal, [Liste des magasins].Ville, [Liste des magasins].[A l'intention de], [Liste des magasins].[Nom/Civilité], [Liste des magasins].CodeMagasin, [Liste des magasins].CodeSecteur
FROM [Liste des magasins]
WHERE ((([Liste des magasins].CodeMagasin)=1) AND (([Liste des magasins].CodeSecteur)=3)) OR ((([Liste des magasins].CodeSecteur)=4));

Et voici ce que me donne la requête : http://www.hostingpics.net/viewer.php?id=801670Sanstitre1.png

Je vous remercie pour votre aide,
cordialement Benjamin Cappeliez.

3 réponses

tessel75
 
Bonsoir,
Facile !
Tu dois absolument revoir la succession de tes parenthèses. Tu écris, en clair :
"Sélectionner (
Magasins, ... from ...

(([Liste des magasins].CodeMagasin)=1) AND (([Liste des magasins].CodeSecteur) =3))
ou
(([Liste des magasins].CodeSecteur)=4))
"

càd les magasins dont le code est 1 ET le secteur est 3
OU ( ou inclusif en maths) les magasins dont le secteur est 4
Donc il te sort les magasins de code 1 et secteur 2, et aussi les magasins de secteur 4.

Bonne suite
0
Jiben59 Messages postés 120 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonsoir,

c'est vrai j'ai oublié de remettre la première condition du code de magasin. J'ai cherché, mais sa m'avait pas sauter aux yeux, heureusement que vous êtes là. Je vous remercie.

J'aurais une question plus techniques aussi, comment faire une requête où l'on renseigne automatiquement le ou les types de secteur, par exemple avant d'exécuter la requête il me demande qu'elle type de secteur à sélectionner, par exemple le 1, ou le 3 et le 4 en même temps.
Car pour un seul j'y arrive mais pour plusieurs je suis incapable de le faire.

Je remercie les gens qui m'aideront.

Bonne soirée,
cordialement Benjamin Cappeliez.
0
tessel75
 
Il faut mettre un paramètre dans la requête qui l'oblige à demander à l'opérateur de renseigner le critère.
Par exemple ce sera un paramètre du genre : "[Entrez le CodeMagasin]" ou "[Entrez le CodeSecteur]", alors le lancement de la requête s'interrompt tant qu'une réponse n'est pas donnée dans un boite de dialogue - système. Une autre solution est de créer un contrôle dans un formulaire exprès; alors le critère sera de la forme: "where ([Liste des magasins].CodeMagasin)= [formulaires]![FormulaireABCD]![CodeMagasinDemande]".
Bonne suite
0