hallo, ik wil met owc chart een grafiek maken in vbscript. Nu is me dit allemaal gelukt en was ik bezig met een tweede grafiek die de afwijking weergeeft tussen de lijnen van de eerste grafiek. Dus de data voor de lijnen A en B haal ik uit de database. Ik trek ze van elkaar af (gewoon A-B), dit gebeurd per record. En dat wil ik nu in een grafiek weergeven.
Nu is het me al wel gelukt om 3 arrays te maken, de eerste van de datum en tijd van een record (hoort onder de x-as te komen), de tweede van de waarde van het verschil (A-B), en de derde van bij welke reeks het hoort.
Ik kan deze arrays naast elkaar weergeven en de goede waarden komen eruit. Echter het lukt me niet om deze arrays te verbinden aan een owc chart. Het gaat om het volgende stukje code:
Dit is voor het aanmaken en vullen van de recordset:
En vervolgens maak ik hier de chart aan:
Ik snap dat in de recordset alleen de kollommen zitten, maar ik moet toch op de een of andere manier een datasource opgeven. Want als ik dat weghaal werkt het helemaal niet meer (nu krijg ik gewoon een lege grafiek). Wie heeft een goed idee en kan mij helpen? Het liefst natuurlijk met code, maar met gewoon een suggestie ben ik ook al heel blij
Nu is het me al wel gelukt om 3 arrays te maken, de eerste van de datum en tijd van een record (hoort onder de x-as te komen), de tweede van de waarde van het verschil (A-B), en de derde van bij welke reeks het hoort.
Ik kan deze arrays naast elkaar weergeven en de goede waarden komen eruit. Echter het lukt me niet om deze arrays te verbinden aan een owc chart. Het gaat om het volgende stukje code:
Dit is voor het aanmaken en vullen van de recordset:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Set conn = Server.CreateObject("ADODB.Connection")
conn.Open conectiestring
Set rs = Server.CreateObject("ADODB.RecordSet")
selectie = "Select blaat from blaat etc etc)"
rs.open selectie, conn
i=-1
ReDim fx(i)
ReDim fy(i)
ReDim fserie(i)
While not rs.eof
'nu worden hier de arrays gevuld, lang stuk code, niet relevant want het werkt
wend
conn.close |
En vervolgens maak ik hier de chart aan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| 'Add a Chart with a legend to the Chartspace
'-------------------------------------------------------------
set m_cspace = server.CreateObject("OWC.Chart")
set objChart = m_cspace.Charts.Add()
set c = m_cspace.Constants
marker = Request.QueryString("marker")
if marker = "on" then
objChart.Type = c.chChartTypeSmoothLineMarkers
else
objChart.Type = c.chChartTypeSmoothLine
end if
objChart.HasLegend = True
'set the Chartspace's data source to the Recordset and add the
'reeks field for series names, the fictievedatum field for the chart's
'categories and the element field for the chart's values
'-----------------------------------------------------------------------
set m_cspace.DataSource = rs
objChart.SetData c.chDimSeriesNames, 0, fserie(i)
for each objSeries in objChart.SeriesCollection
objChart.SetData c.chDimCategories, 0, fx(i)
objChart.SetData c.chDimValues, 0, fy(i)
Set dl = objSeries.DataLabelsCollection.Add()
dl.HasValue = labels
dl.Font.Size = 7
dl.Position = c.chLabelPositiontop
next |
Ik snap dat in de recordset alleen de kollommen zitten, maar ik moet toch op de een of andere manier een datasource opgeven. Want als ik dat weghaal werkt het helemaal niet meer (nu krijg ik gewoon een lege grafiek). Wie heeft een goed idee en kan mij helpen? Het liefst natuurlijk met code, maar met gewoon een suggestie ben ik ook al heel blij