OK, il n'y a absolument aucun bon article sur Internet que je puisse trouver pour expliquer ou avoir des exemples de code sur la façon de créer un tableau croisé dynamique en utilisant VBA. J'ai besoin de cela parce que j'ai besoin du tableau croisé dynamique pour montrer des résultats différents selon la sélection de l'utilisateur dans un formulaire. Il y en a pour Excel mais la syntaxe est différente pour Access. Je sais que c'est une question boiteuse, mais si quelqu'un a un exemple de la façon de créer un tableau croisé dynamique dans VBA, j'apprécierais vraiment l'aide.Création de graphique croisé dynamique avec Access 2007 VBA
Répondre
Eh bien après environ 3 jours de recherche, je pense que je l'ai trouvé. Pas que quelqu'un se soucie vraiment, cela n'a que 6 vues, dit beaucoup pour l'horreur absolue de VBA. Quoi qu'il en soit, MSDN avait ce caché sous "Office XP" au lieu de sous Access, mais peu importe.
J'AVONS créer un formulaire croisé dynamique dans Access 2007. Sur une autre forme que j'ai les commandes de sélection de l'utilisateur et le pivotform comme un sous-formulaire. Ensuite, j'utilise du code comme celui-ci dans le formulaire principal. Le modèle d'objet est le même que OWC11 (Office Web Components 11).
Private Function DisplayChart()
With mysubform.Form.ChartSpace
.Clear
.AllowFiltering = True
.HasChartSpaceTitle = True
.ChartSpaceTitle.Caption = "test"
.DisplayFieldButtons = False
.DisplayToolbar = False
.ConnectionString = ...
.CommandText = "SELECT rSeries, rCategory, rDate, rValue " & _
"FROM myTable"
.Charts(0).Type = chChartTypePie
.SetData chDimSeriesNames, chDataBound, "rSeries"
.SetData chDimCategories, chDataBound, "rCategory"
.SetData chDimValues, chDataBound, "rValue"
.HasChartSpaceLegend = True
End With
End Function
les constantes peuvent être dérivées de OWC11
C: \ Program Files \ Common Files \ Microsoft Shared \ Web Components \ 11 \ OWC11.DLL
vous en avez besoin en haut de la module. À ce stade, je ne suis pas sûr de savoir comment les extraire du graphique pivot Access. Faites une référence à OWC11 et définissez le sous-formulaire ChartSpace à une variable déclarée comme OWC11.ChartSpace. Après avoir écrit le changement de code pour taper «Object», et supprimer la référence pour la liaison tardive (et re-test). De cette façon, vos références ne se décolleront pas sur une machine 64 bits lors du déploiement. N'oubliez pas que vous pouvez également laisser l'utilisateur accéder au formulaire de propriétés de graphique croisé dynamique, aux listes de champs et aux zones de dépôt. Ou ils peuvent faire un clic droit sur le graphique pour les atteindre.
(Note - cela est encore une nouvelle découverte pour moi, donc je vais essayer de mettre à jour cette réponse si je trouve des années Gotcha.)
Voici un article de Mike Gunderloy utilisant vba pivotcharts dans A2002 http://msdn.microsoft.com/en-us/library/aa155735%28office.10%29.aspx –
- 1. graphique croisé dynamique Excel linéaire échelle de temps
- 2. (Excel 2002) Mise à jour perdue sur mise à jour du graphique croisé dynamique
- 3. Valeur par défaut pour le filtre/champ de page de rapport de graphique croisé dynamique
- 4. Peupler un sous-formulaire avec différents affichages comme une interface graphique dans Access 2007
- 5. XSLT Tableau croisé dynamique
- 6. requête Linq pour la création d'un tableau croisé dynamique
- 7. tableau croisé dynamique dynamique LinqToSQL requête
- 8. Tableau croisé dynamique dans C#
- 9. Problème de jeu d'enregistrements Access 2007
- 10. Microsoft Access 2007 Connection
- 11. ms-access 2007 .exe
- 12. Création de table DDL à partir de Microsoft Access
- 13. Excel VBA ou VSTO - Comment boucler des champs sur un tableau croisé dynamique?
- 14. Ajout de point de données au graphique Excel avec VBA
- 15. création dynamique avec textboxes « échange »
- 16. VBA - Connexion d'une feuille de calcul Excel 2007 à la base de données Access 2007 via ADODB
- 17. Utilisation de VBA pour mettre à jour un jeu d'enregistrements de formulaire dans Access 2007
- 18. access vba: Erreur d'exécution 3734
- 19. Événement OnKeyUp dans Access 2007
- 20. Étrange problème d'attribution de champ dans DAO avec Access 2007
- 21. Période hebdomadaire dans Access 2007
- 22. xml en ms access 2007
- 23. Access 2007 Query de requête vide
- 24. Passage de Microsoft Access 2007 à Sql Server 2005
- 25. Access 2007, VBA, un minuscule projet pour une école, et le Trust Center
- 26. Création d'un jeu d'enregistrements dans VBA avec l'instruction SQL
- 27. Création dynamique de contrôle
- 28. Importation de code SQL dans Access 2007
- 29. Utilisez VBA dans les applications Office 2007?
- 30. avec VBA Spellcheck dans Outlook 2007 dans une langue donnée
Il dit que quelque chose sur la facilité d'utilisation des cartes dans Access, où ai été des problèmes majeurs intégrant MS Graph en 1996 dans mon expérience. Ainsi, de nombreux développeurs d'accès avancés l'évitent. Les tables pivotantes n'existaient pas avant A2003, et je me souviens que les gens avaient des problèmes pour les faire travailler. –