OK, nie ma absolutnie żadnych dobrych artykułów w Internecie, które można znaleźć, które wyjaśniają lub mają przykłady kodu na temat tworzenia wykresu przestawnego za pomocą VBA. Potrzebuję tego, ponieważ potrzebuję wykresu przestawnego, aby pokazać różne wyniki w zależności od wyboru użytkownika w formularzu. Istnieje kilka programów Excel, ale ich składnia jest inna w przypadku programu Access. Wiem, że to kiepskie pytanie, ale jeśli ktoś ma przykład, jak stworzyć wykres przestawny w VBA, byłbym wdzięczny za pomoc.Tworzenie wykresu przestawnego za pomocą programu Access 2007 VBA
Odpowiedz
Cóż, po około 3 dniach poszukiwań wydaje mi się, że znalazłem. Nie, żeby ktokolwiek naprawdę się przejmował, to ma tylko 6 widoków, wiele mówi o całkowitej nieprzyjemności VBA. W każdym razie MSDN ma to ukryte pod "Office XP" zamiast w Access, ale cokolwiek.
mam stworzyć formę wykresu przestawnego w programie Access 2007 na innym formularzu mam kontrole wyboru użytkownika i pivotform jako podformularzu. Następnie używam takiego kodu w głównej formie. Model obiektowy jest taki sam jak 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
stałych mogą pochodzić z owc11
C: \ Common Files Program Files \ \ Microsoft Shared Components \ Web \ 11 \ OWC11.DLL
Trzeba je na szczycie moduł. Na tym etapie nie jestem pewien, jak wyodrębnić je z wykresu przestawnego programu Access. Zrób odniesienie do OWC11 i ustaw podformatę ChartSpace na zmienną zadeklarowaną jako OWC11.ChartSpace. Po zapisaniu zmiany kodu wpisz "Obiekt" i usuń odniesienie do późnego wiązania (i przetestuj ponownie). W ten sposób twoje referencje nie zostaną odblokowane na maszynie 64-bitowej po wdrożeniu.
Pamiętaj, że możesz również zezwolić użytkownikowi na dostęp do formularza właściwości przestawnej, list pól i stref upuszczania. Mogą też kliknąć prawym przyciskiem myszy na wykresie, aby się do nich dostać.
(uwaga - to wciąż nowe odkrycie dla mnie tak będę starać się aktualizować tę odpowiedź, jeśli znajdę jakieś haczyka Użytkownika).
Oto artykuł Mike'a Gunderloy'a korzystającego z vba pivotcharts w A2002 http://msdn.microsoft.com/en-us/library/aa155735%28office.10%29.aspx –
tylko on mówi coś o użyteczność wykresów w programie Access, tam gdzie nie byłeś Główne problemy związane z integracją MS Graph sięgają roku 1996 z mojego doświadczenia. Dlatego wielu zaawansowanych programistów Access unika tego. Tabele przestawne nie istniały do A2003 i pamiętam, że ludzie mają problemy z doprowadzeniem ich do pracy. –