Help and Support
 

powered byLive Search

ACC2002 : comment optimiser la performance de liste de tableau croisé dynamique dans Microsoft Access

Numéro d'article:300926
Dernière mise à jour:jeudi 25 septembre 2003
Version:3.0
Modérée : requiert macro de base, le codage et les compétences d'interopérabilité.

Cet article s'applique à une base de données Microsoft Access (.mdb) et à un projet Microsoft Access (.adp)

Résumé

Pour optimiser la performance liste de tableau croisé dynamique dans Microsoft Access, utilisez les conseils suivants qui sont expliqués en détail dans la section "Informations complémentaires" :
?Masquez des détails de la liste de tableau croisé dynamique.
?Utilisez une requête pour restreindre des champs inutiles et des enregistrements.
?Calculez des champs d'une requête de détail.
?Limitez l'utilisation de groupements de date granulaire.

Retour au début

Plus d'informations

Masquer les détails de la liste de tableau croisé dynamique

Bien que liste de tableau croisé dynamique puisse afficher des données de détail, vous devez généralement utiliser liste de tableau croisé dynamique pour afficher des données et des totaux de synthèse. Le composant Tableau croisé dynamique ouvre un jeu ActiveX Data Objects ( ADO ) d'enregistrements distinct pour chaque cellule qu'il contient. Lorsque vous utilisez une liste de tableau croisé dynamique pour afficher des détails, plusieurs généralement plusieurs cellules affiché si les détails sont masqués est. La liste de tableau croisé dynamique doit par conséquent ouvrir et gérer le jeu ADO supplémentaire qui contribue à des performances plus faibles.

Si vous devez afficher des données de détail, créez la liste de tableau croisé dynamique afin que des détails soient masqués. Vous pouvez ensuite descendre dans les détails pour une ligne spécifique pour laquelle la donnée de synthèse est intéressante ou une colonne. Si vous devez afficher des détails pour toutes les lignes et les colonnes, vous devez envisager d'utiliser un autre objet pour afficher les données tels qu'une requête ou un formulaire.

Généralement l'interface utilisateur d'une liste de tableau croisé dynamique requiert malheureusement que vous affichiez des données de détail avant d'ajouter des totaux. L'ordre habituel d'étapes que vous devrez exécuter est :
1.Ouvrez la table ou la requête en mode Tableau croisé dynamique.
2.Faites de la liste des champs de tableau croisé dynamique glisser un champ sur la zone Glisser les champs Totaux ou Détails ici.
3.Sélectionnez la colonne que vous avez simplement ajoutée de la liste de tableau croisé dynamique.
4.Dans le menu de tableau croisé dynamique, pointez sur AutoCalc et sélectionnez la fonction d'agrégation souhaitée, puis.
5.Dans le menu de tableau croisé dynamique, cliquez sur Masquer les détails.
Toutefois il est en fonction du type de données du champ possible d'ajouter des totaux Sum et Count à l'axe de données sans devoir d'abord afficher des données de détail. Si vous voulez utiliser la fonction d'agrégation Somme pour totaliser un champ numérique ou monétaire, vous pouvez créer le total en suivant ces étapes.

NOTE: ces étapes supposent qu'est actuellement vide et que le mode Tableau croisé dynamique n'a pas été personnalisé précédemment.
1.Ouvrez une table, une requête ou un formulaire en mode Tableau croisé dynamique.
2.Vous dans la liste des champs de tableau croisé dynamique, sélectionnez un champ numérique ou monétaire que vous sélectionnez total en utilisant la fonction d'agrégation Somme.
3.Sélectionnez Zone de données, dans la liste déroulant dans le bas de la liste de champs du tableau croisé dynamique.
4.Cliquez sur Ajouter.
Notez que le somme du champ que vous avez sélectionné a été ajouté à l'axe de la liste de tableau croisé dynamique de données.

Vous pouvez utiliser ces mêmes étapes pour créer un total qui utilise la fonction de regroupement Compte en sélectionnant un champ non numérique à l'étape 2. Par exemple si vous sélectionnez un champ de texte et si l'ajoutez puis, à l'axe de données en cliquant sur Ajouter, la liste de tableau croisé dynamique créera automatiquement un total utilisant la fonction de regroupement Compte.

Utilisez une requête pour restreindre des champs inutiles et des enregistrements

Essayez de réduire le nombre de champs et enregistrements utilisés par le composant Tableau croisé dynamique. Vous pouvez faire cela en la création d'une requête, une vue, procédures stockées ou une fonction inline. Ensuite, uniquement sélectionnez les champs nécessaires de la liste de tableau croisé dynamique dans la sortie de la requête et utilisez des critères possibles si pour réduire le nombre d'enregistrements de la liste de tableau croisé dynamique.

Cela est important parce que Microsoft Access doit récupérer le jeu d'enregistrements, de la table sous-jacente ou la requête sous-jacente et doit passer puis, au composant Tableau croisé dynamique le jeu d'enregistrements. Vous possédez dans ce jeu d'enregistrements plus lente être les autres informations pour que cette opération. Cette opération est plus rapide si vous supprimez des champs inutiles et des enregistrements par utilisation d'une requête et en ouvrir la requête en mode Tableau croisé dynamique ensuite.

Cela est particulièrement important dans un fichier de projet Microsoft Access (.adp). Access doit d'abord récupérer tous les enregistrements pour la table du serveur et lorsqu' ouvrir une table SQL Server en mode Tableau croisé dynamique les télécharger puis, sur l'ordinateur client. Microsoft Access envoie ensuite le jeu d'enregistrements au composant Tableau croisé dynamique. Le serveur si vous utilisez des critères dans un affichage, une procédure stockée ou une fonction inline, que renvoie les lignes requises et élimine le trafic réseau inutile.

Calculez des champs d'une requête de détail

Vous pouvoir même si créer des champs de détails calculés d'une liste de tableau croisé dynamique, généralement se trouve plus rapidement les calculant dans une requête, un affichage, une procédure stockée ou une fonction inline. En utilisant cette approche le moteur de base de données effectue le calcul et inclut le champ calculé de partie de l'enregistrement qu'il transmet au composant Tableau croisé dynamique. Puisque le moteur de base de données a déjà calculé la valeur, vous n'avez pas créer un champ calculé dans le composant Tableau croisé dynamique.

Limitez l'utilisation de groupements de date granulaire

Essayez d'éviter d'utiliser des regroupements de la liste de tableau croisé dynamique de date très granulaire. Essayez par exemple d'éviter d'utiliser des heures, des minutes et des secondes. Si vous devez regrouper à une d'une date partie particulière, créez une expression dans une requête qui extrait la partie dont vous avez besoin. Vous utilisez par exemple la fonction DatePart dans une requête ou un affichage pour extraire la partie de la date de laquelle vous requérez. Une fois que vous avez extrait si parties dater dont vous avez besoin, vous pouvez ajouter cela comme des champs à un axe particulier. Cela vous permet de grouper partie par dater sans avoir de calculer le composant Tableau croisé dynamique si parties datent.

Retour au début

Références

Pour des informations supplémentaires sur l'optimisation de performances lorsque vous imprimez PivotTables, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
282315 (http://support.microsoft.com/kb/282315/EN-US/) ACC2002 : semble le blocage d'accès lorsque vous prévisualisez ou imprimez un objet en mode Tableau croisé dynamique

Retour au début


Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
?Microsoft Access 2002 Standard Edition

Retour au début

Mots-clés : 
kbhowto KB300926 KbMtfr kbmt

Retour au début

Traduction automatiqueTRADUCTION AUTOMATIQUE : Cet article technique a été traduit par un système automatique, c'est-à-dire sans aucune intervention humaine. Microsoft propose ce type d?articles en complément de ceux traduits par des traducteurs professionnels. Ces articles sont destinés principalement aux utilisateurs ne comprenant pas l'anglais en leur proposant, en complément, une version française de l?information technique fournie dans la version américaine et originale de l?article. Pour plus de détails, veuillez consulter la page http://support.microsoft.com/gp/mtdetails. Attention : Il est possible que certaines parties de l?article ne soient pas traduites par le système automatique et qu?elles soient restées rédigées en anglais. Microsoft ne garantit pas la qualité linguistique des traductions et ne peut être tenu responsable d?aucun problème, direct ou indirect, dû à une quelconque erreur de traduction du contenu ou de son utilisation par les utilisateurs.
La version anglaise de cet article est la suivante: 300926 (http://support.microsoft.com/kb/300926/en-us/)

Retour au début

L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Traductions disponibles

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.