Beste allen,
afgelopen week heb ik de database Noordenwind mbt het "Dialoogvenster Verkooprapport" in mijn eigen database nagebouwd. Natuurlijk heb ik velerlei verschillende velden dan Noordenwind. Dat is geen probleem.
Het is mij gelukt om de "dialoogvenster Verkooprapporten" bij mij ook werkend te krijgen. Schouderklopje bij mezelf
ECHTER...wat ik miste was bij de kwartaalrapporten de cijfers bij het 3e kwartaal!. Ik begreep even niet waarom deze niet mijn gegevens naar boven haalde.
Ik liep de gegevens na in de VBA modules welke betrekking hadden op de kwartalen. Vervolgens bekeek ik de standaard database Noordenwind en zag dat daar dezelfde fout in zat. Daar liep ik vervolgens wat gegevens na en kwam tot de conclusie dat de fout in de vba zit gecombineerd met een "maandvankwartaal"veld van de query.
Dit viel me op:
VBA kwartaalrapport
QUERY behorende bij kwartaalrapport
-verkoopanalyse
In deze query wordt de datum (orderdatum) gebruikt voor andere velden, namelijk jaar en maand en kwartaal en
maandvankwartaal, in dezelfde query. Deze velden worden dus automatisch uit de datum gehaald.
Nu zal je merken dat in maandvankwartaal de cijfers; 0 en 1 en 2 voorkomen (dus geen 1,2,3...CRUCIAAL!)
Nu zou maand 0 dus de eerste maand van het kwartaal moeten zijn, maar dat is het dus niet. Maand 1 is de eerste maand van het kwartaal, 2 is de tweede maand van het kwartaal en 0 is de derde maand van het kwartaal.
Deze 0 zou dus terug moeten komen in het kwartaalrapport, maar daar zit dus de fout in en ik kom er even niet uit hoe ik de juiste VBA codering moet maken om dus maand 3 (0) terug te laten komen in het kwartaalrapport.
Wie kan mij dus helpen om de VBA code correct te maken waarbij de 0 uit de queryveld terug te zien is in de VBA code van het kwartaalrapport als zijnde de 3e maand van de kwartaal?
afgelopen week heb ik de database Noordenwind mbt het "Dialoogvenster Verkooprapport" in mijn eigen database nagebouwd. Natuurlijk heb ik velerlei verschillende velden dan Noordenwind. Dat is geen probleem.
Het is mij gelukt om de "dialoogvenster Verkooprapporten" bij mij ook werkend te krijgen. Schouderklopje bij mezelf

ECHTER...wat ik miste was bij de kwartaalrapporten de cijfers bij het 3e kwartaal!. Ik begreep even niet waarom deze niet mijn gegevens naar boven haalde.
Ik liep de gegevens na in de VBA modules welke betrekking hadden op de kwartalen. Vervolgens bekeek ik de standaard database Noordenwind en zag dat daar dezelfde fout in zat. Daar liep ik vervolgens wat gegevens na en kwam tot de conclusie dat de fout in de vba zit gecombineerd met een "maandvankwartaal"veld van de query.
Dit viel me op:
VBA kwartaalrapport
Code:
Option Compare Database
Option Explicit
Private Sub Report_Open(Cancel As Integer)
On Error GoTo ErrorHandler
Dim strSQL As String
If IsNull(TempVars![Weergeven]) Or IsNull(TempVars![Jaar]) Or IsNull(TempVars![Kwartaal]) Or IsNull(TempVars![Groeperen op]) Then
DoCmd.OpenForm "Dialoogvenster Verkooprapporten"
Cancel = True
Exit Sub
End If
strSQL = "TRANSFORM CCur(Nz(Sum([Verkoop]),0)) AS X"
strSQL = strSQL & " SELECT [" & TempVars![Weergeven] & "] as SalesGroupingField FROM [Verkoopanalyse] "
strSQL = strSQL & " Where [Kwartaal]=" & TempVars![Kwartaal] & " AND [Jaar]=" & TempVars![Jaar]
strSQL = strSQL & " GROUP BY [" & TempVars![Groeperen op] & "], [" & TempVars![Weergeven] & "]"
strSQL = strSQL & " Pivot [Verkoopanalyse].[MaandVanKwartaal] In (1,2,3)"
Me.RecordSource = strSQL
Me.SalesGroupingField_Label.Caption = TempVars![Weergeven]
Dim iMonth As Integer
Dim iStartMonth As Integer
Dim iEndMonth As Integer
iStartMonth = ((TempVars![Kwartaal] - 1) * 3) + 1
iEndMonth = iStartMonth + 2
For iMonth = iStartMonth To iEndMonth
Me.Controls((iMonth - iStartMonth + 1) & "_Label").Caption = Format(DateSerial(2005, iMonth, 1), "mmm")
Next iMonth
Done:
Exit Sub
ErrorHandler:
' De opdracht Resume wordt uitgevoerd bij foutopsporing
If eh.LogError("Kwartaalverkooprapport_Open", "strSQL = " & strSQL) Then
Resume
Else
Cancel = True
End If
End Sub
QUERY behorende bij kwartaalrapport
-verkoopanalyse
In deze query wordt de datum (orderdatum) gebruikt voor andere velden, namelijk jaar en maand en kwartaal en
maandvankwartaal, in dezelfde query. Deze velden worden dus automatisch uit de datum gehaald.
Nu zal je merken dat in maandvankwartaal de cijfers; 0 en 1 en 2 voorkomen (dus geen 1,2,3...CRUCIAAL!)
Nu zou maand 0 dus de eerste maand van het kwartaal moeten zijn, maar dat is het dus niet. Maand 1 is de eerste maand van het kwartaal, 2 is de tweede maand van het kwartaal en 0 is de derde maand van het kwartaal.
Deze 0 zou dus terug moeten komen in het kwartaalrapport, maar daar zit dus de fout in en ik kom er even niet uit hoe ik de juiste VBA codering moet maken om dus maand 3 (0) terug te laten komen in het kwartaalrapport.
Wie kan mij dus helpen om de VBA code correct te maken waarbij de 0 uit de queryveld terug te zien is in de VBA code van het kwartaalrapport als zijnde de 3e maand van de kwartaal?