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

msg error: query too complex (bis)

7 réponses
Avatar
Thibault
Re bonsoir a tous!
Dans le mesage precedent j avais ce mesage derreur parceque je mettai bcp de
champs dans une meme requete...
Mais la je suis confu, jai une requete d aparence simple (salaire -
deduccion)
et de meme jai le msg derreur : query too complex qui aparait!
Certe, il me faut 4 prerequetes pour avoir le salaire mensuel et 5 pour le
calcul des deductions... mais Access nest tout de meme pas si limite que
cela? OU SI?

7 réponses

Avatar
3stone
Salut,

"Thibault"
| Dans le mesage precedent j avais ce mesage derreur parceque je mettai bcp de
| champs dans une meme requete...
| Mais la je suis confu, jai une requete d aparence simple (salaire -
| deduccion)
| et de meme jai le msg derreur : query too complex qui aparait!
| Certe, il me faut 4 prerequetes pour avoir le salaire mensuel et 5 pour le
| calcul des deductions... mais Access nest tout de meme pas si limite que
| cela? OU SI?


Tu peux en dire un peu plus sur l'organisation de tes tables ?
pour comprendre ce qui conduit à une telle avalanche de requête ?

PS:
Pour donner des précisions, répond à ton propre message.
N'ouvre pas un nouveau fil pour la même question... sinon
on ne s'y retrouvera pas avec des bis, ter etc...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Thibault
Oui bien sur ! alors:
j ai 5 tables :
1. table employee : toute les infos sur chaques employes dont le salaire
mensuel
2. table Heurefaites: ou je reporte jour par jour les heures extras faites (
a 25,50 ou 75 % du salaire horaire ((salaire mensuel /30)/8)
3. table Information mensuel necessaire : ou je reporte a la fin de chaque
mois les infos necessaire au calcul du salaire : heure de vacances prises,
heures d absences, heures darret de travail, bonifications, prestations,
heures travaillees le dimanche, heure a 25% du mois passe (il arrive souvent
que des heures extra soi "oublies") heure a 50% du mois passe , heure a 75%
du mois passe, somme verse a la cooperative, autres sommes a ajoutes ( au cas
ou), retenciones de fuentes et impuesto vecinal (deux impot d ici) et enfin
autre charges.
4. info necesaire au calcul de "lanticipo" : une parti du salaire est verse
au 15 du mois, des infos a part sont necessaires pour son calcul
5. pieces faites: une parti du salaire est sous forme de "travail a la
production". les salarie sont paye "a la piece". Je raporte ici les pieces
effectues jour par jour (il ya bien entendu diferents type de travail avec
des paies differentes )

jai une 6eme table de donne generale (prix dune piece faite pour chaque type
de travail, pourcentage de heure extra etc...)

Pour arrive au net a payer = Salaire mensuel - deduction
je dois realiser plusieures requetes:

salaire mensuel = (paie des pieces efectuees + heure extra mois precedent +
salaire fixe + heure extra du mois + autres ) - (heure des absences + heures
darret de travail)

jai donc 3requetes qui me permettent d avoir toute ces donnees :
- paie des pieces efectuees (premierement une requete "somme" sur le mois
puis une autre pour la paies en elle meme)
- paie des heures extras : (d abord une requete pour la somme des heures
extras faites dans le mois puis une requete pour la paie en elle-meme ) dans
cette meme requete se calcul la paie des heures extra "oubliees")
- requete "heure a soustraire" : heure absence * salaire horaire + heure
arret de travail *salaire horaire.

Voila pour le salaire mensuel.

Pour les deductions = retenciondefuente + impuesto vecinal + autres charges
+ cooperative (tout ceci se fait sans calcul et sont directement importe de
la table des infos mensuel necessaires) + Fosovi (importe d une requete : un
pourcentage du salaire) + securite social (idem) + somme verse au 15 du moi
(une requete)

voila et je pense vraiment etre obliger de passer par toute c etapes...
je suis bien embeter vu que c est sense etre ma derniere requete! le net a
payer quoi...

(escuse pour les accents etc.. je suis au honduras (amerique centrale) et j
ai donc un clavier americain... )
Merci!
thibo.




Salut,

"Thibault"
| Dans le mesage precedent j avais ce mesage derreur parceque je mettai bcp de
| champs dans une meme requete...
| Mais la je suis confu, jai une requete d aparence simple (salaire -
| deduccion)
| et de meme jai le msg derreur : query too complex qui aparait!
| Certe, il me faut 4 prerequetes pour avoir le salaire mensuel et 5 pour le
| calcul des deductions... mais Access nest tout de meme pas si limite que
| cela? OU SI?


Tu peux en dire un peu plus sur l'organisation de tes tables ?
pour comprendre ce qui conduit à une telle avalanche de requête ?

PS:
Pour donner des précisions, répond à ton propre message.
N'ouvre pas un nouveau fil pour la même question... sinon
on ne s'y retrouvera pas avec des bis, ter etc...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/





Avatar
3stone
Bonjour,

Oups, je t'avais oublié... ;-(


"Thibault"
| j ai 5 tables :
[...]

vu rapidement et d'ici... cela semble ok...


| Voila pour le salaire mensuel.
|
| Pour les deductions = retenciondefuente + impuesto vecinal + autres charges
| + cooperative (tout ceci se fait sans calcul et sont directement importe de
| la table des infos mensuel necessaires) + Fosovi (importe d une requete : un
| pourcentage du salaire) + securite social (idem) + somme verse au 15 du moi
| (une requete)


regarde toujours si tu ne trouve pas des remarques qui concerne ton problème,
principalement au sujet des noms "à ralonges" comme certains les aiment ;-)
http://support.microsoft.com/kb/103429/en-us


| voila et je pense vraiment etre obliger de passer par toute c etapes...
| je suis bien embeter vu que c est sense etre ma derniere requete! le net a
| payer quoi...

Access crée, selon le cas, une multitude de sous-requêtes pour arriver
au résultat demandé. Ce qui peut produire ce msg d'erreur.

Au besoin, passe par une/des table(s) intermédiaire(s)
Essayes éventuellement pour la requête la plus "lourde" de créer cette
table intermédiaire, cela devrait largement soulager ta requête finale.


| (escuse pour les accents etc.. je suis au honduras (amerique centrale) et j
| ai donc un clavier americain... )

Pas de problème, c'est tout de même mieux que le style sms ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Thibault
Salut!

Ok, je veux bien tester.. mais qu'entends- tu exactement par "tables
intermediaires"?
Tu veux dire qu'a partir de requete, creer des tables ?
Je crois saisir l idee, si depuis une requete j'envoi les resultats dans une
table, puis que je continue la construction du calcul avec comme base la
table intermediaire, access n'aura pas besoin de refaire l'ensemble des
calculs de lensemble des requetes, c'est ca l'idee?

Mais dans ce cas, cette "table intermediaire" ne peux pas etre aussi
"rigide" que mes tables normales... Il faudrai qu elle soit reactive,
actualisable selon les parametres necessaire etc...
En fait, il faudrai tout simplement qu une ou deux de mes requetes les plus
compliquer mettent leur resultat sous forme de table. Mais.. je n arrive pas
a saisir comment ces tables intermedaires pourront elle etre aussi flexible
et reactive...

Bref.. en fait la vrai reponse c'est: comment on fait pour creer ces tables
intermedaires? :-)
tibo

oui j'essaye de faire attention j'ai remarquer que tout le monde faisait l'effort d'ecrire correctement... Parfois je me laisse un peu trop aller..




Bonjour,

Oups, je t'avais oublié... ;-(


"Thibault"
| j ai 5 tables :
[...]

vu rapidement et d'ici... cela semble ok...


| Voila pour le salaire mensuel.
|
| Pour les deductions = retenciondefuente + impuesto vecinal + autres charges
| + cooperative (tout ceci se fait sans calcul et sont directement importe de
| la table des infos mensuel necessaires) + Fosovi (importe d une requete : un
| pourcentage du salaire) + securite social (idem) + somme verse au 15 du moi
| (une requete)


regarde toujours si tu ne trouve pas des remarques qui concerne ton problème,
principalement au sujet des noms "à ralonges" comme certains les aiment ;-)
http://support.microsoft.com/kb/103429/en-us


| voila et je pense vraiment etre obliger de passer par toute c etapes...
| je suis bien embeter vu que c est sense etre ma derniere requete! le net a
| payer quoi...

Access crée, selon le cas, une multitude de sous-requêtes pour arriver
au résultat demandé. Ce qui peut produire ce msg d'erreur.

Au besoin, passe par une/des table(s) intermédiaire(s)
Essayes éventuellement pour la requête la plus "lourde" de créer cette
table intermédiaire, cela devrait largement soulager ta requête finale.


| (escuse pour les accents etc.. je suis au honduras (amerique centrale) et j
| ai donc un clavier americain... )

Pas de problème, c'est tout de même mieux que le style sms ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,

"Thibault"
| Ok, je veux bien tester.. mais qu'entends- tu exactement par "tables
| intermediaires"?
| Tu veux dire qu'a partir de requete, creer des tables ?


disons que si tu "empilles" 3 requête, la dernière sera une requête
de création de table, genre "tmpTable"

Tu utilisera alors cette table pour faire ta requête finale.
- En se basant sur une table, Access n'aura plus besoin de créer
et mémoriser toutes ces éventuelles sous-requêtes temporaires...


| Je crois saisir l idee, si depuis une requete j'envoi les resultats dans une
| table, puis que je continue la construction du calcul avec comme base la
| table intermediaire, access n'aura pas besoin de refaire l'ensemble des
| calculs de lensemble des requetes, c'est ca l'idee?

c'est cela !


| Mais dans ce cas, cette "table intermediaire" ne peux pas etre aussi
| "rigide" que mes tables normales... Il faudrai qu elle soit reactive,
| actualisable selon les parametres necessaire etc...

tu ne dois pas les créer à l'avance !
c'est la requête qui la créera à l'image de ce qu'elle contient.


| En fait, il faudrai tout simplement qu une ou deux de mes requetes les plus
| compliquer mettent leur resultat sous forme de table. Mais.. je n arrive pas
| a saisir comment ces tables intermedaires pourront elle etre aussi flexible
| et reactive...

voir ci-dessus...

rien ne change par rapport à maintenant, sauf que, au lieu de garder toute
l'enfilade en mémoire, tu verse le résultat dans une table.
Ce qui permet de repartir avec des données qui ne demande plus
d'être traitées en amont.
Cela soulage surtout lorsqu'il est fait usage de requêtes basées sur
plusieurs tables...


PS:
Regarde tout de même les recommandations indiquées dans le lien...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Thibault
ok... j ai tout de meme du mal a comprendre le principe. Je nai jamais fait
ce genre de chose.
Jai regarder les conseils donnes mais aparement cette idee de table
intermediaire serai la solution , vu que mes noms de tables sont relativement
cour et que je ne peut supprimer de calcul , ils sont tous necesssaire.

Ce que je comprend pas, ou peu, c est que pour moi cette table intermediaire
ne sera qu un etat, une foto a un moment donne de la requete, avec les
parametre entree dans la requete.
Si je souhaite le net a payer de decembre 2006 , alors il me faudra
premierement creer la table intermedaire avec les resultats (disons de
lanticipo) seulement de decembre 2006. Puis je configure ma requete finale
pour qu elle aille chercher les donnees dans cette table intermediaire.

Mais si tout de suite apres je souhaite le net a payer de Janvier 2007.
alors il faudra que je refasse lensemble de ces operations? :
creer la table interrmedaire de lanticipo avec les parametres souhaite, puis
configurer ma requete finale pour qu elle aille chercher les donnee de
lanticipo dans la table nouvellement creer, puis lancer la requete pour avoir
(enfin) le net a payer?

Dans ce cas je devrai creer chaque mois, une table intermedaire, et chaques
mois reconfigurer ma requete finale pour qu elle utilise les bons resultats ??

Cela me semble un peu lourd comme operation. Mais je dois certainement me
trompe.
Crois tu que tu pourrai m expliquer plus en details comment fonctionnerai
cette table intermedaire?
MErci de ta patience....
thibault.


re,

"Thibault"
| Ok, je veux bien tester.. mais qu'entends- tu exactement par "tables
| intermediaires"?
| Tu veux dire qu'a partir de requete, creer des tables ?


disons que si tu "empilles" 3 requête, la dernière sera une requête
de création de table, genre "tmpTable"

Tu utilisera alors cette table pour faire ta requête finale.
- En se basant sur une table, Access n'aura plus besoin de créer
et mémoriser toutes ces éventuelles sous-requêtes temporaires...


| Je crois saisir l idee, si depuis une requete j'envoi les resultats dans une
| table, puis que je continue la construction du calcul avec comme base la
| table intermediaire, access n'aura pas besoin de refaire l'ensemble des
| calculs de lensemble des requetes, c'est ca l'idee?

c'est cela !


| Mais dans ce cas, cette "table intermediaire" ne peux pas etre aussi
| "rigide" que mes tables normales... Il faudrai qu elle soit reactive,
| actualisable selon les parametres necessaire etc...

tu ne dois pas les créer à l'avance !
c'est la requête qui la créera à l'image de ce qu'elle contient.


| En fait, il faudrai tout simplement qu une ou deux de mes requetes les plus
| compliquer mettent leur resultat sous forme de table. Mais.. je n arrive pas
| a saisir comment ces tables intermedaires pourront elle etre aussi flexible
| et reactive...

voir ci-dessus...

rien ne change par rapport à maintenant, sauf que, au lieu de garder toute
l'enfilade en mémoire, tu verse le résultat dans une table.
Ce qui permet de repartir avec des données qui ne demande plus
d'être traitées en amont.
Cela soulage surtout lorsqu'il est fait usage de requêtes basées sur
plusieurs tables...


PS:
Regarde tout de même les recommandations indiquées dans le lien...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Salut,

"Thibault"
| ok... j ai tout de meme du mal a comprendre le principe. Je nai jamais fait
| ce genre de chose.
| Jai regarder les conseils donnes mais aparement cette idee de table
| intermediaire serai la solution , vu que mes noms de tables sont relativement
| cour et que je ne peut supprimer de calcul , ils sont tous necesssaire.


A condition que ce n'est pas un "défaut" dans la requête, à partir d'une
certaine complexité, il faudra bien te résoudre à passer par une table
intermédiaire et temporaire... le temps d'exécuter ta requête "finale"


| Ce que je comprend pas, ou peu, c est que pour moi cette table intermediaire
| ne sera qu un etat, une foto a un moment donne de la requete, avec les
| parametre entree dans la requete.

oui... temporaire ;-)

| Si je souhaite le net a payer de decembre 2006 , alors il me faudra
| premierement creer la table intermedaire avec les resultats

c'est la requête qui la crée, à la volée...

| lanticipo) seulement de decembre 2006. Puis je configure ma requete finale
| pour qu elle aille chercher les donnees dans cette table intermediaire.
|
| Mais si tout de suite apres je souhaite le net a payer de Janvier 2007.
| alors il faudra que je refasse lensemble de ces operations? :
| creer la table interrmedaire de lanticipo avec les parametres souhaite, puis
| configurer ma requete finale pour qu elle aille chercher les donnee de
| lanticipo dans la table nouvellement creer, puis lancer la requete pour avoir
| (enfin) le net a payer?
|
| Dans ce cas je devrai creer chaque mois, une table intermedaire, et chaques
| mois reconfigurer ma requete finale pour qu elle utilise les bons resultats ??


Pour "l'automatiser" totalement, il te faudras peut-être (voir surement)
passer par le VBA pour piloter le tout.


| Cela me semble un peu lourd comme operation. Mais je dois certainement me
| trompe.
| Crois tu que tu pourrai m expliquer plus en details comment fonctionnerai
| cette table intermedaire?

Heu... ;-((

Juste quelque recommandations:
- Gardes tes "sous requêtes" aussi légères que possible
- Ne traîne pas tous les champs qui ne servent pas immédiatement
- Ajoute les champs accessoires dans la dernière requête, si requis.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/