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
|