Syntax
| RunWebGraph Caption$, Text$, XaxisLabels, YaxisLabels, XaxisValues
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description
| Generates a web form (read-only) with a line graph chart and table view of the presented data
| ||||||||||||
See Also
| |||||||||||||
Example
| Option Explicit
'-------------------------------------------------------
'Demonstratie Tradium Web Macro's
'-------------------------------------------------------
Sub Main
Const Xlabels As String = "Jan;Feb;Mrt;Apr;Mei;Jun;Jul;Aug;Sep;Okt;Nov;Dec"
Const Query As String = "SELECT SUM(WOS.Regelwaarde) AS Totaal, MONTH(WOH.Datum) AS Maand " _
& "FROM dbo.WerkOrderHeaders WOH INNER JOIN dbo.WerkOrderSpecs WOS ON WOS.Admin = WOH.Admin AND WOS.Nummer = WOH.Nummer " _
& "INNER JOIN dbo.ArtikelStam AST ON AST.Nummer = WOS.ArtNummer " _ & "WHERE AST.Groep = '|1' AND YEAR(WOH.Datum) = |2 " _
& "GROUP BY MONTH(WOH.Datum) " _
& "ORDER BY 2"
Dim Result As Variant, x As Integer, y As Integer
Dim myXML As New ChilkatXml
Dim arrGroepen() As String
Dim strGroep As String, strTitel As String, strTekst As String
Dim rs As ADODB.Recordset
Dim arrX(0 To 11) As String
Dim arrY(0 To 4) As String
Dim Values(0 To 11, 0 To 4) As Currency
'maandlabels invullen
For x = 0 To 11
arrX(x) = Split(Xlabels,";")(x)
Next
'jaarlabels invullen
y = 0
For x = Year(Now) To (Year(Now) - 4) Step -1
arrY(y) = CStr(x)
y = y + 1
Next
'Indien uitgevoerd vanuit de wachtrij, bevat de Commandstring als eerste woord de sessionID
If Len(Command$)> 0 Then
WebSessionID Split(Command$)(0)
End If
SQL.RunQueryLoadArray "SELECT DISTINCT REPLACE(REPLACE(REPLACE(Code + ' ' + Omschrijving, '&', '&'), '<', ''), '>', '') " & _
"FROM ArtikelGroepen WHERE Deleted = 0 ORDER BY 1 ", arrGroepen() Result = RunWebForm("0#Overzicht van artikelgroepen##Toon grafiek||Annuleren#2#Selecteer een artikelgroep:##" & Join$(arrGroepen,"|") & "#")
If Len("" & Result) = 0 Then Exit Sub
myXML.LoadXml CStr(Result)
strGroep = Split(myXML.FindChild("response").FindChild("value").content)(0)
strTitel = "Artikelgroep " & strGroep
strTekst = "Dit is een overzicht van de omzet in de afgelopen 5 jaar voor artikelgroep " & strGroep & _
". U kunt door deze lijst bladeren totdat u door het formulier gesloten heeft. Daarna dient u de macro uit te voeren om een andere lijst op te maken." 'waarden per jaar, per maand uitlezen
For x = 0 To 4
SQL.RunRecordset Replace$(Replace$(Query,"|1", strGroep), "|2", arrY(x)), rs,adOpenStatic,adLockReadOnly,adUseClient,12
While Not rs.EOF
Values(rs(1) -1, x) = rs(0)
rs.MoveNext
Wend
rs.Close
Next
RunWebGraph strTitel,strTekst, arrX(), arrY(), Values()
End Sub
| ||||||||||||