第一次張貼海報和新的MS ACCESS。我正在使用MS ACCESS 2002-2003數據庫格式。 我有一個Mainform,我有一個選項卡式控件。在其中一個選項卡中,我有一個子表單,其中放置了另一個選項卡式控件。在其中一個選項卡中,我有一個包含類別列表的組合框,我試圖使用VBA將該值傳遞給MS Chart控件。只要沒有WHERE子句,圖表就會更新(它將顯示所有類別)。如果我從WHERE子句中刪除該變量並在其中鍵入VALUE,它仍然不起作用。當我運行Debug.Print strSQLPIE。 strSQLPIE值正確顯示了SQL語句和WHERE子句。但是,Chart始終顯示爲空白。如果我複製該SQL語句並將其放入一個新的查詢,查詢運行良好。MS圖表控件在行源包含WHERE子句時顯示爲空白
我已將問題網絡化到圖表控件的ROWSOURCE屬性中的SQL語句的WHERE子句。我錯過了什麼?
下面是代碼:
Dim DB As Database
Dim rst As Recordset
Dim strSQLSB As String ' subform datasheet sql
Dim strSQLPIE As String ' chart control sql
Dim SelCatStr As String ' combobox for categories
Dim SelYrStr As String ' not being used for now
Dim SelYrMtStr As String ' not being used for now
SelCatStr = Me.PIEChart.Value ' combobox selected value
'SelYrStr = Me.SelectYear.Value ' not being used for now
'SelYrMtStr = Me.SelectYearMonth.Value ' not being used for now
strSQLSB = "SELECT UNIONMASTER.ByMonth, UNIONMASTER.Category, UNIONMASTER.Category1, UNIONMASTER.AdjustedAmount " & _
"FROM UNIONMASTER " & _
"WHERE UNIONMASTER.Category1= '" & SelCatStr & "';" THIS UPDATES THE DATASHEET IN ANOTHER SUBFORM IN THE SAME TAB CORRECTLY ON CHANGE OF COMBOBOX.
strSQLPIE = "SELECT UNIONMASTER.Category1, Sum(UNIONMASTER.AdjustedAmount) AS TotalSpent " & _
"FROM UNIONMASTER " & _
"WHERE UNIONMASTER.Category1= '" & Me.PIEChart.Value & "';"
我試圖在where子句中使用SelCatStr和Me.PIEChart.Value,它仍然下來不行。我甚至嘗試輸入一個值,但它仍然不起作用。調試窗口正確顯示SQL和正確的where子句,但只要WHERE子句存在,圖表就顯示爲空白。
Me.PIESubform.Form.RecordSource = strSQLSB
Me.[PIESubform].Form.Requery
Debug.Print strSQLPIE
Me.[CatChart].RowSource = strSQLPIE
Me.[CatChart].Requery
我認爲這個問題與CHART的rowsource設置中的WHERE子句有關。正如我所說,當我刪除where子句時,圖表正確地顯示所有類別,當我堅持WHERE子句,用VALUE或變量時,它顯示空白。
圖表作品,如果我用這個:
strSQLPIE = "SELECT UNIONMASTER.Category1, Sum(UNIONMASTER.AdjustedAmount) AS TotalSpent " & _
"FROM UNIONMASTER " & _
"GROUP BY UNIONMASTER.Category1 ;"
Me.CatChart.RowSource = strSQLPIE
Me.CatChart.Requery
任何想法?