OVH Cloud OVH Cloud

Limite Requete ?

6 réponses
Avatar
Elie DARMON
bonjour

J ai une table Client et une table liee Categorie. Si je fais une recherche
des clients qui ont :
Et la categorie 1
Et la categorie 2 ... jusqua 17 catgories ca passe au dela ca plante.

Est ce une limite d Access ?

Merci de m indiquer votre experience en la matiere

Elie

J utilise Access XP sous WinXP pro

6 réponses

Avatar
Raymond [mvp]
Bonjour.

la limite du nombre d'opérateur "And" dans une clause Where ou having est
de:
99 pour les versions 2002 et 2003
40 pour les versions 2000 et 97
avant je ne sais plus.
normalement tes 17 and devraient passer sauf si l'ensemble des and dépasse
40;
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Elie DARMON" a écrit dans le message de
news:%
bonjour

J ai une table Client et une table liee Categorie. Si je fais une
recherche

des clients qui ont :
Et la categorie 1
Et la categorie 2 ... jusqua 17 catgories ca passe au dela ca plante.

Est ce une limite d Access ?

Merci de m indiquer votre experience en la matiere

Elie

J utilise Access XP sous WinXP pro




Avatar
Elie DARMON
Salut

Merci pour la reponse. Je ne connaissais pas cette limite. Effectivement je
dois approcher les 40 And dans le cas de +17 categories mais tu dis que
Access Xp permet 99 And ca devrait donc passer non ?

Merci pour to aide

Elie


"Raymond [mvp]" wrote in message
news:
Bonjour.

la limite du nombre d'opérateur "And" dans une clause Where ou having est
de:
99 pour les versions 2002 et 2003
40 pour les versions 2000 et 97
avant je ne sais plus.
normalement tes 17 and devraient passer sauf si l'ensemble des and dépasse
40;
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Elie DARMON" a écrit dans le message de
news:%
bonjour

J ai une table Client et une table liee Categorie. Si je fais une
recherche

des clients qui ont :
Et la categorie 1
Et la categorie 2 ... jusqua 17 catgories ca passe au dela ca plante.

Est ce une limite d Access ?

Merci de m indiquer votre experience en la matiere

Elie

J utilise Access XP sous WinXP pro








Avatar
Raymond [mvp]
si tu es sous xp oui, à moins que la réalité dépasse l'aide.
su le papier on ne trouveras pas car ta requête doit être très longue.
peux-tu me la passer par mail ? dans une base vierge avec les tables
correspondantes (pas besoin de données dans les tables ou 1 seulement ) le
tout en zip obligatoirement et en enlevant XYZ. dans l'adresse.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Elie DARMON" a écrit dans le message de
news:
Salut

Merci pour la reponse. Je ne connaissais pas cette limite. Effectivement
je

dois approcher les 40 And dans le cas de +17 categories mais tu dis que
Access Xp permet 99 And ca devrait donc passer non ?

Merci pour to aide

Elie


Avatar
Daniel Carollo
Bonsoir Elie!

Au lieu d'indique les criteres dans la clause WHERE de la requete, je vous
suggere de mettre ces criteres dans une table temporaire, et de la lier a la
table a requeter. Ce n'est pas facile a expliquer, mais c'est une technique
tres simple a mettre en oeuvre, que j'ai decrite sur mon site web a
http://www.computing-tech.com/technique a la rubrique "Formulaire de
requete". Cela permet de s'affranchir de la limite en longeur du WHERE...

J'espere que ca vous donne des idees.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Elie DARMON" wrote in message
news:%
bonjour

J ai une table Client et une table liee Categorie. Si je fais une
recherche

des clients qui ont :
Et la categorie 1
Et la categorie 2 ... jusqua 17 catgories ca passe au dela ca plante.

Est ce une limite d Access ?

Merci de m indiquer votre experience en la matiere

Elie

J utilise Access XP sous WinXP pro




Avatar
Elie DARMON
Bonjour

Merci de ta reponse. Jai envoye a Raymond un zip de mon pb mais malgre ses
differentes reponses je nai tjrs pas de solution a ma question. Aussi je
publie ici le contenu du dernier echange pour essayer declaircir ma question

Merci encore pour vos idees.

Ci dessous le dernier echange :

Tout dabord merci de ton aide mais je crois que tu n as pa saisi le pb

Je vais essayer de reexpliquer

1. Table Contact : Code - Nom - Prenom - Adr - Tel ......
2. Table Contact_Ctgry : Contact_Code,Ctgry_code

Ainsi on peut personaliser a lenvie le profil de chaque contact

Ensuite on doit pouvoir rechercher les contacts qui ont telle categorie et
telle categorie et telle categorie

Exemple :

Contact
101 - DARMON - ELIE - +33 1 58 20 32 32 - ........
...
444 - SENEQUE - RAYMOND - +33 1 22222222 - ....
....
Contact Catgry
101 - PRO
101 - GAR
101 - RP
101 - DISCOUNT
.....
444 - RP
444 - DISCOUNT


Donc si je recherche les contacts qui sont RP et Discount je trouve : 101 ;
444

Si je recherche les contacts PRO et RP et GAR je trouve : 101

Merci pour ton attention

Elie


"Daniel Carollo" wrote in
message news:
Bonsoir Elie!

Au lieu d'indique les criteres dans la clause WHERE de la requete, je vous
suggere de mettre ces criteres dans une table temporaire, et de la lier a
la

table a requeter. Ce n'est pas facile a expliquer, mais c'est une
technique

tres simple a mettre en oeuvre, que j'ai decrite sur mon site web a
http://www.computing-tech.com/technique a la rubrique "Formulaire de
requete". Cela permet de s'affranchir de la limite en longeur du WHERE...

J'espere que ca vous donne des idees.

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Elie DARMON" wrote in message
news:%
bonjour

J ai une table Client et une table liee Categorie. Si je fais une
recherche

des clients qui ont :
Et la categorie 1
Et la categorie 2 ... jusqua 17 catgories ca passe au dela ca plante.

Est ce une limite d Access ?

Merci de m indiquer votre experience en la matiere

Elie

J utilise Access XP sous WinXP pro








Avatar
Daniel Carollo
Bonjour Elie!

Je pense avoir saisi ce que vous voulez faire, mais il me semble que la
question de depart etait de contourner la limite du nombre de AND et OR dans
la clause WHERE d'une requete. Je suppose que vous avez quelque chose du
genre
SELECT mesChamps FROM Contact INNER JOIN Contact_Ctgry ON
LesChampsQuiVontBien
WHERE Contact_Ctgry.Ctgry_code = PRO AND Contact_Ctgry.Ctgry_code = GAR AND
... jusqu'a plus soif.

J'ai mis au point la methode que j'ai decrite sur mon site justement pour
faire ce genre de travail.

Il suffit de remplacer la requete plus haut par
SELECT mesChamps FROM Contact INNER JOIN Contact_Ctgry ON
LesChampsQuiVontBien
INNER JOIN tblSelectCtgry ON LesChampsQuiVontBien
La clause WHERE n'est plus necessaire. Pour selectionner des categories, il
suffit de rajouter leur code dans la table temporaire, ce qui se fait
facilement avec le code que je fournis dans le meme exemple.

Le gros avantage de ma methode, c'est qu'il n'y a alors plus de limite sur
le nombre de categories selectionnees, et que le code de la requete ne
change pas lorsqu'on veut changer les criteres de selection, d'ou la
possibilite d'utiliser une requete sauvegardee, ce qui ameliore la
performance lorsqu'il y a un nombre important d'enregistrements dans les
tables.

Bonne continuation,

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Elie DARMON" wrote in message
news:
Bonjour

Merci de ta reponse. Jai envoye a Raymond un zip de mon pb mais malgre ses
differentes reponses je nai tjrs pas de solution a ma question. Aussi je
publie ici le contenu du dernier echange pour essayer declaircir ma
question


Merci encore pour vos idees.

Ci dessous le dernier echange :

Tout dabord merci de ton aide mais je crois que tu n as pa saisi le pb

Je vais essayer de reexpliquer

1. Table Contact : Code - Nom - Prenom - Adr - Tel ......
2. Table Contact_Ctgry : Contact_Code,Ctgry_code

Ainsi on peut personaliser a lenvie le profil de chaque contact

Ensuite on doit pouvoir rechercher les contacts qui ont telle categorie et
telle categorie et telle categorie

Exemple :

Contact
101 - DARMON - ELIE - +33 1 58 20 32 32 - ........
...
444 - SENEQUE - RAYMOND - +33 1 22222222 - ....
....
Contact Catgry
101 - PRO
101 - GAR
101 - RP
101 - DISCOUNT
.....
444 - RP
444 - DISCOUNT


Donc si je recherche les contacts qui sont RP et Discount je trouve : 101
;

444

Si je recherche les contacts PRO et RP et GAR je trouve : 101

Merci pour ton attention

Elie