Я вытаскиваю свои волосы, пытаясь разобрать данные или редактировать их в коллекцию серии msgraph.
Я получаю error 438 - object does not support this property or method
.Невозможно отредактировать msgraph seriescollection
Я могу манипулировать другими свойствами, которые объект имеет, например, ChartTitle.Font.Size, но не серией.
Intellisencing не работает с этим объектом, что заставляет меня судить, что я не задал конкретной ссылки.
Разделы кода приведены ниже.
Основная процедура получает объект:
strReportName = "Security Selection"
strChartName = "MACD_Chart"
DoCmd.OpenReport strReportName, acViewDesign
Set rptMACD = Reports(strReportName)
Set chartMACD = rptMACD(strChartName)
Набор записей данных строится затем все это передается в подпрограмму:
Call UpdateChart(chartMACD, rstMACD)
Public Sub UpdateChart(chartPlot As Object, rstChart As ADODB.Recordset)
'FUNCTION:
' a chart object is passed into the routine,
' source data is update to the recordset being passed in.
Dim lngType As Long
Dim i, j, iFieldCount As Integer
Dim rst As Recordset
Dim arXValues() As Date
Dim arValues() As Double
Dim strChartName, strYAxis, strXAxis As String
Dim ChrtCollection As ChartObjects
Dim colmCount As Integer
chartPlot.RowSourceType = "Table/Query"
'get number of columns in chart table/Query
iFieldCount = rstChart.Fields.Count
With chartPlot
'change chart data to arrays of data from recordset
.Activate
j = 0
rstChart.MoveFirst
Do While Not rstChart.EOF
j = j + 1
ReDim Preserve arXValues(1 To j)
arXValues(j) = rstChart.Fields("Date").Value
rstChart.MoveNext
Loop
For i = 1 To iFieldCount - 1 'Date is first field
j = 0
rstChart.MoveFirst
Do While Not rstChart.EOF 'get next array of data
j = j + 1
ReDim Preserve arValues(1 To j)
arValues(j) = rstChart.Fields(i + 1).Value
rstChart.MoveNext
Loop
.SeriesCollection(i).Name = rstChart.Fields(i + 1).Name
.SeriesCollection(1).XValues = arXValues
.SeriesCollection(i).Values = arValues
Next i
end sub
Я пытался много вещей, и теперь я полностью смущенный. Я также пытаюсь разобрать в наборах записей (что является моим предпочтением), но я возьму что-нибудь в данный момент.
Hi @usncahill. набор записей, который я использую, является результатом движущегося алгоритма (такого как индикаторы MACD и RSI). Я не уверен, как это сделать в форме запроса. есть ли лучший способ обновить или создать диаграмму? По сути, я хочу поместить диаграмму в форму с данными, которые я создал (массив, набор записей или запрос ... Я не суетливый). –
@ian Где находится набор записей 'rstChart'? Как это связано с MACD и RSI?Они генерируются на основе записи (т. Е. Каждая запись представляет собой день/час/минуту, для которой создается скользящее среднее)? – usncahill
@usnacahill. MACD генерируется из сценария, который затем попадает в набор записей. пример: «dEMAS (iCount) = (curPrice * dEXPSlowWeight) + (dEMAS (iCount - 1) * (1 - dEXPSlowWeight)) –