2013-02-15 153 views
2

MS Access 2010的普通圖表小部件的外觀並不十分吸引人。在Access中嵌入生成的Excel圖表

是否有可能(以及如何?)在Access中嵌入相當吸引人的Excel圖表,並用查詢(動態)填充數據?

PS:

因爲我想更新根據用戶輸入使用樞軸圖表的圖表是不可能的。

+0

您可以將未綁定的控件鏈接到一個Excel文件,但你會發現,你有一個問題,你現在有半打。 – Fionnuala 2013-02-15 13:32:39

+0

BTW究竟有多少用戶輸入?你是在談論限制數據還是完全不同的表格? – Fionnuala 2013-02-15 15:28:32

+0

@Remou用戶可以編輯查詢中的過濾器參數(選擇框,文本字段,日期等...)。所以用戶可以限制同一張表的數據。 – matcauthon 2013-02-15 16:34:00

回答

2

使用圖表其他

Sub OpenMyChart() 
''You could do this part without code, but let use say you want VBA 
sSQL = "SELECT Table1.AText AS ACategory, Table1.ANumber AS AData, " _ 
    & "Table1.ADate AS AFilter, Table1.ATime AS ASeries " _ 
    & "FROM Table1 WHERE Table1.ADate=#1/20/2012#" 

''This is the query that my Chart form uses 
CurrentDb.QueryDefs("Chart").SQL = sSQL 

''You can use a Where statement for opening the form, too 
DoCmd.OpenForm "Chart", acFormPivotChart, , "ACategory='Bob'" 
End Sub 

兩種方法使用類似的設置,與子窗體的一些注意事項。

/1。使用鏈接兒童和主域

主字段設置列表框控件和鏈接子字段的名稱的鏈接設置爲圖表的相關字段:

Link Master Field: List1;List2 
Link Child Field: AFilter;ACategory 

點擊相應的控制重繪圖表。

chart

/2。使用查詢並強制重繪:

Private Sub List1_Click() 
sSQL = "SELECT Table1.AText AS ACategory, Table1.ANumber AS AData, " _ 
    & "Table1.ADate AS AFilter, Table1.ATime AS ASeries " _ 
    & "FROM Table1 WHERE Table1.ADate=#" _ 
    & Format(Me.List1, "yyyy/mm/dd") & "#"1/13/2013#" 

''This is the query that my Chart form uses 
CurrentDb.QueryDefs("Chart").SQL = sSQL 

''Chart is the name of the subform control, and confusingly, 
''the name of the embedded form. 
Me.Chart.SourceObject = "Chart" 
End Sub 
+0

這將起作用。但不幸的是,它不適合我必須改變的計劃。左側有幾個選項卡,右側有一些過濾器輸入。預期的用途是使用設置的過濾器來「實時刷新」選定的選項卡(某些統計信息,詳細信息視圖等)。這適用於所有情況,但在透視圖中。 – matcauthon 2013-02-18 13:54:30

+0

它使用數據透視表進行測試。 – Fionnuala 2013-02-18 14:00:36

+0

數據透視表刷新,但確實會銷燬所有字段集。設置'RecordSource'並調用Requery後,我必須以編程方式設置字段集(參見[Help](http://office.microsoft.com/en-us/access-help/programming-pivottable-pivotchart- views-in-access-HA001034579.aspx)) – matcauthon 2013-02-18 14:27:17