문제

좋습니다. 인터넷에는 VBA를 사용하여 피벗 차트를 만드는 방법을 설명하거나 코드 예제가 있는 좋은 기사가 전혀 없습니다.양식에서 사용자 선택에 따라 다른 결과를 표시하려면 피벗 차트가 필요하기 때문에 이것이 필요합니다.Excel에는 일부가 있지만 Access에서는 구문이 다릅니다.이것이 형편없는 질문이라는 것을 알고 있지만 VBA에서 피벗 차트를 만드는 방법에 대한 예가 있는 사람이 있다면 도움을 주시면 정말 감사하겠습니다.

도움이 되었습니까?

해결책

약 3 일 동안 검색 한 후 나는 그것을 발견했다고 생각합니다. 누군가가 정말로 신경 쓰지 않고, 이것은 단지 6 개의 조회수 만 가지고 있다고 VBA의 완전히 끔찍한 일에 대해 많은 것을 말합니다. 어쨌든 MSDN은 액세스중인 대신 "Office XP"아래 에이 숨겨져 있었지만 무엇이든지있었습니다.

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

다른 팁

Access 2007에서 피벗 차트 양식을 만들었습니다.다른 양식에는 사용자 선택 컨트롤과 피벗폼이 하위 양식으로 있습니다.그런 다음 기본 양식에서 이와 같은 코드를 사용합니다.개체 모델은 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

상수는 OWC11에서 파생될 수 있습니다.

C:\Program Files\Common Files\Microsoft Shared\Web Components\11\OWC11.DLL

모듈 상단에 필요합니다.이 단계에서는 Access 피벗 차트에서 추출하는 방법을 잘 모르겠습니다.OWC11을 참조하고 하위 양식 ChartSpace를 OWC11.ChartSpace로 선언된 변수로 설정합니다.코드를 'Object' 유형으로 변경한 후 런타임 바인딩에 대한 참조를 제거하고 다시 테스트하세요.이렇게 하면 배포할 때 참조가 64비트 시스템에서 풀리지 않습니다.

Private Enum ChartConstants
  chDimSeriesNames = 0
  chDimCategories = 1
  chDimValues = 2
  chDataBound = 0
  chAxisPositionValue = -8
  chAxisPositionCategory = -7
  chChartTypePie = 18
End Enum

사용자가 피벗 차트 속성 양식, 필드 목록 및 놓기 영역에 액세스하도록 허용할 수도 있습니다.또는 차트를 마우스 오른쪽 버튼으로 클릭하여 이동할 수도 있습니다.

(참고 - 이것은 여전히 ​​새로운 발견이므로 문제를 발견하면 이 답변을 업데이트하려고 노력할 것입니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top