Programming Reference Manual
 
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
 
Parameter
Description
Caption$
The name shown in the title bar of the web form.
Text$
Additional text that is shown above the displayed table contents.
XaxisLabels
String array, containing labels for the X-axis of the graph
YaxisLabels
String array, containing labels for each row of the X-axis values
XaxisValues
Array, 1 or 2 dimensional. Contains the values for the X-axis labels.
Note: the number of 1st dimension elements must match the number of elements in de XaxisLabels array parameter. The number of the 2dn dimension elements must match the number of elements in the YaxisLabels array parameter.
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, '&', '&amp;'), '<', ''), '>', '') " & _
                            "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