× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Access | Optimisation d'une requête
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Loris
  Posté le 12/01/2010 @ 11:31 
Aller en bas de la page 
Petit astucien

Bonjour à tous,

Je suis confronté à un problème que je n'ai pas encore pu résoudre malgré mes diverses tentatives et je serai heureux de pouvoir profiter de l'aide d'utilisateurs plus expérimentés afin de pouvoir progresser dans la recherche de la solution à mon petit problème.

A l'adresse http://cjoint.com/?bmkYIE4W3j se trouve une base de donnée Access au format 2000 se composant de deux tables et de deux requêtes. Cette base de données est un extrait de la base avec laquelle je travaille réellement et dont le "design" des tables ne peut être modifié sous aucun prétexte (i.e. il faut faire avec ce qui est dans la base en l'état).

Voici plus d'informations sur les divers objets:

  • La table "Entry" contient des données relatives à des entrées comptables;
  • La table "EntryNarrative" contient un narratif facultatif par entrée comptable. Le problème est que le champ stockant le narratif n'accepte que 10 caractères et, par conséquent, si un narratif de 25 caractères doit être saisi pour une entrée comptable donnée, on trouvera 3 enregistrements dans la table "EntryNarrative";
  • La requête "qxtbEntryDetail" de type "crosstab" affiche les données stockées dans les tables indiquées précédemment. Cette requête est utilisée comme source pour la requête "qselEntryDetailEndResult" qui affiche le résultat que je souhaite obtenir de manière plus élégante et sans avoir à recourir à une requête intermédiaire qui ne couvre de toute façon pas tous les cas possibles [e.g. dans le cas où le narratif serai contenu dans 5 enregistrements (au lieu d'un maximum de 3 comme dans mon exemple)].

Quelqu'un a-t-il une idée permettant d'obtenir une solution légère et élégante fonctionnant rapidement sur les tables mentionnées plus haut dont le nombre d'enregistrements est de plus de 6 mios pour la table "Entry" et de quelque 4 mios pour la table "EntryNarrative"?

D'avance merci pour tout comemntaire!

Meilleures salutations.

Publicité
Loris
 Posté le 12/01/2010 à 11:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re-bonjour,

Le lien vers la base de données est en fait http://cjoint.com/?bmlGTKx6zy et non celui indiqué auparavant. Désolé pour la confusion!

Meilleures salutations.

qmike
 Posté le 12/01/2010 à 14:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour

C'est curieux cette façon de fonctionner

Peux-tu me dire pourquoi il est impossible de changer la structure de la table et impossible d'élargir le champ à 25 ou 30 caractères ?

Loris
 Posté le 12/01/2010 à 16:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour qmike,

Merci pour la réponse!

C'est effectivement curieux mais, comme je l'ai écrit, c'est un paramètre à prendre en compte et ne pouvant être modifiere. La raison est due au fait que ma base de données Access est connectée via ODBC à un entrepôt de données ("data warehouse") sur lequel je n'ai aucun influence en terme de "design".

Meilleures salutations.

GuyBa
 Posté le 13/01/2010 à 10:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Loris,

Je me demandes si tu ne peux pas créer un champ pour y concaténer les trois champs qui t'intéresses.

Mais n'ayant pas accès à la base, je ne peux en dire plus. (le lien ne propose pas le fichier mdb en clair)

Loris
 Posté le 13/01/2010 à 12:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour GuyBa,

Merci pour le feed-back!

J'ai déjà essayé la solution proposée... sans succès. De plus, je cherche une solution simple à implémenter dans une seule requête et, donc, sans avoir recours à une table/requête supplémentaire servant d'intermédiaire ou de source à l'unique requête que je souhaite utiliser.

Quel est le problème exact que tu mentionnes sous "le lien ne propose pas le fichier mdb en clair". Je ne comprends pas ce que cela signifie et, par conséquent, je ne peux pas envisager de mesures afin que la base te soit accessible. Merci de m'en dire plus à l'occasion!

Meilleures salutations.

qmike
 Posté le 13/01/2010 à 13:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour

peux tu faire un descriptif des tables concernées

et un descriptif de ta requete

Loris
 Posté le 13/01/2010 à 13:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Hello,

Le document (au format PDF) décrivant la base en détail se trouve à l'adresse http://cjoint.com/?bnnvyQVxSX. Le code SQL de la requête "qselEntryDetailEndResult" ne figurant pas dans le document mentionné plus haut est le suivant:
SELECT qxtbEntryDetail.EntryId, qxtbEntryDetail.Account, qxtbEntryDetail.Amount, [1] & [2] & [3] AS Narrative
FROM qxtbEntryDetail;

Pour rappel: la base de données est également disponible à l'adresse http://cjoint.com/?bmlGTKx6zy.

Plus d'infos se trouvent également dans mon 1er post.

Meilleures salutations.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
4,99 €Housse Case Logic EHDC101K de protection de disque dur externe 2.5 pouces à 4,99 €
Valable jusqu'au 13 Juillet

Amazon fait une promotion sur la housse de protection de disque dur externe 2.5 pouces Case Logic EHDC101K qui passe à 4,99 € au lieu de 7 €. La housse est semi-rigide et possède un élastique intérieure qui maintient le disque dur en place pendant le transport. Vous pourrez ranger vos câbles USB dans la fine poche en maille.


> Voir l'offre
32,99 €Caméra de surveillance TP-Link Tapo C200 à 32,99 €
Valable jusqu'au 12 Juillet

Amazon fait une promotion sur la caméra de surveillance TP-Link Tapo C200 qui passe à 32,90 € livrée gratuitement au lieu d'une quarantaine d'euros ailleurs. Cette caméra se connecte à votre réseau en WiFi et peut ensuite être contrôlée à distance. Elle offre une définition FullHD 1080p, la vision nocturne, la détection de mouvements (recevez une notification si quelque chose est détecté), une alarme sonore et visuelle. Le stockage se fait en local sur une carte MicroSD.


> Voir l'offre
Gratuit3 mois d'abonnement à Amazon Music Unlimited gratuits
Valable jusqu'au 20 Juillet

Amazon vous permet d'essayer son service de streaming musical pendant 3 mois gratuitement. Avec Amazon Music Unlimited, accédez à plus de 50 millions de titres, sans publicité et en illimité sur tous vos appareils : smartphone, tablette, PC/Mac, Fire, Alexa. Vous avez même la possibilité de télécharger vos playlists pour des écoutes hors connexion. A la fin de ces 3 mois, vous pourrez basculer vers l'offre payante à 9,99 € / mois ou bien arrêter sans frais le service. A noter l'existence d'une offre famille à 14,99 € / mois qui permet jusqu'à 6 utilisateurs d'écouter leur musique à tout moment et sur leurs appareils préférés. Vous pouvez annuler l'abonnement à tout moment.


> Voir l'offre

Sujets relatifs
REQUETE DE SUPPRESSION AVEC ACCESS
[Commenter une requête ACCESS 2010]
Access 2010 taille des caractères en requete SQL
Access : Écrire un critère dans une requête.
Access 2003 - Etat sur requete analyse croisée+VBA
Problème de Requête Access 2007
Access: Différencier Maj & Min ds requete
requête pour graphique Access
ACCESS - REQUETE AJOUT avec conditions
Problème de requête Access
Plus de sujets relatifs à Access | Optimisation d''une requête
 > Tous les forums > Forum Bureautique