OVH Cloud OVH Cloud

A97 - requête de 'permutation' ?

2 réponses
Avatar
robin poirieux
Bonjour,

Je dispose d'une table comme ceci

NO_REF -> texte 9 c.
NOM -> texte 25 c.
VAL -> texte 3 c.

Dans certains cas j'ai le même NO_REF, le même NOM mais pas le même VAL

Or j'ai besoin d'une seule ligne par NO_REF (pas de doublons) et avoir la
totalité des VAL

J'aimerai donc avoir ceci :

NO_REF
NOM
VAL1
VAL2
VAL3
etc... (tant qu'il y a des valeurs différentes de VAL pour le même NO_REF et
NOM)

Le traitement peut se faire en VBA mais c'est très long : boucles imbriquées
(comme le trie par 'bulle') qui comparent les valeures unes à unes...

J'ai bien essayé une analyse croisée mais la encore, c'est très long et je
n'arrive pas à obtenir le résultat souhaité.

Sachant que j'ai pas loin de 700 000 enregistrements, le traitement doit
être le plus rapide possible (of course).

qq'1 a une idée ?

merci pour vos réponses.

2 réponses

Avatar
Benoit Compoint [MS]
Bonjour,

Avec Access 97 une requête Analyse Croisée est théoriquement le meilleur
moyen d'aboutir au résultat souhaité.

Mais avec 700000 enregistrements l'exécution de la requête est
nécessairement longue.
Pour limiter le temps d'exécution il faut compacter la base avant de lancer
la requête, placer la base sur un disque dur local assez rapide (ce qui
n'est pas toujours le cas sur un ordinateur portable) et utiliser un
processeur récent.

Vous pouvez accélérer le traitement en fixant les en-têtes de colonnes de la
requête Analyse Croisée, si le champ VAL ne peut prendre que certaines
valeurs prédéterminées.

Benoît Compoint.

"robin poirieux" wrote in message
news:bpdp74$f1d$
Bonjour,

Je dispose d'une table comme ceci

NO_REF -> texte 9 c.
NOM -> texte 25 c.
VAL -> texte 3 c.

Dans certains cas j'ai le même NO_REF, le même NOM mais pas le même VAL

Or j'ai besoin d'une seule ligne par NO_REF (pas de doublons) et avoir la
totalité des VAL

J'aimerai donc avoir ceci :

NO_REF
NOM
VAL1
VAL2
VAL3
etc... (tant qu'il y a des valeurs différentes de VAL pour le même NO_REF
et

NOM)

Le traitement peut se faire en VBA mais c'est très long : boucles
imbriquées

(comme le trie par 'bulle') qui comparent les valeures unes à unes...

J'ai bien essayé une analyse croisée mais la encore, c'est très long et je
n'arrive pas à obtenir le résultat souhaité.

Sachant que j'ai pas loin de 700 000 enregistrements, le traitement doit
être le plus rapide possible (of course).

qq'1 a une idée ?

merci pour vos réponses.




Avatar
robin poirieux
Merci, je vais voir...

"Benoit Compoint [MS]" a écrit dans le
message de news:
Bonjour,

Avec Access 97 une requête Analyse Croisée est théoriquement le meilleur
moyen d'aboutir au résultat souhaité.

Mais avec 700000 enregistrements l'exécution de la requête est
nécessairement longue.
Pour limiter le temps d'exécution il faut compacter la base avant de
lancer

la requête, placer la base sur un disque dur local assez rapide (ce qui
n'est pas toujours le cas sur un ordinateur portable) et utiliser un
processeur récent.

Vous pouvez accélérer le traitement en fixant les en-têtes de colonnes de
la

requête Analyse Croisée, si le champ VAL ne peut prendre que certaines
valeurs prédéterminées.

Benoît Compoint.

"robin poirieux" wrote in message
news:bpdp74$f1d$
Bonjour,

Je dispose d'une table comme ceci

NO_REF -> texte 9 c.
NOM -> texte 25 c.
VAL -> texte 3 c.

Dans certains cas j'ai le même NO_REF, le même NOM mais pas le même VAL

Or j'ai besoin d'une seule ligne par NO_REF (pas de doublons) et avoir
la


totalité des VAL

J'aimerai donc avoir ceci :

NO_REF
NOM
VAL1
VAL2
VAL3
etc... (tant qu'il y a des valeurs différentes de VAL pour le même
NO_REF


et
NOM)

Le traitement peut se faire en VBA mais c'est très long : boucles
imbriquées

(comme le trie par 'bulle') qui comparent les valeures unes à unes...

J'ai bien essayé une analyse croisée mais la encore, c'est très long et
je


n'arrive pas à obtenir le résultat souhaité.

Sachant que j'ai pas loin de 700 000 enregistrements, le traitement doit
être le plus rapide possible (of course).

qq'1 a une idée ?

merci pour vos réponses.