2009-04-14 14 views
5

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

3

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.

http://msdn.microsoft.com/en-us/library/aa662945.aspx#

+0

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. –

0

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).

+0

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 –