Allereerst nog de beste wensen voor 2014.
Dag allen,
ik heb een database ontworpen waarbij ik gebruik maak van een Treeview-methode. In deze database heb ik de Rapporten methode van Noordenwind overgenomen en lichtelijke vertaling toegepast (dus geen aanpassing aan de VBA codering). Wanneer ik gebruik maak van de Rapporten formulier kan ik een voorbeeld (Preview) knop gebruiken om te kijken of het rapport wel het juiste rapport is. Dit rapport opent zich, maar hierbij sluit ik meteen het formulier Rapporten. Dit is dus niet de bedoeling.
Ik heb wat pogingen gewaagd om in VBA de codering aan te passen, maar ik krijg tot zover alleen maar foutmeldingen. Wie kan mij helpen om de VBA correct aan te passen zodat ik wanneer ik een rapport open (na keuzes gemaakt te hebben) deze in een nieuwe "formulier" open en het formulier Rapporten open blijft?
Dag allen,
ik heb een database ontworpen waarbij ik gebruik maak van een Treeview-methode. In deze database heb ik de Rapporten methode van Noordenwind overgenomen en lichtelijke vertaling toegepast (dus geen aanpassing aan de VBA codering). Wanneer ik gebruik maak van de Rapporten formulier kan ik een voorbeeld (Preview) knop gebruiken om te kijken of het rapport wel het juiste rapport is. Dit rapport opent zich, maar hierbij sluit ik meteen het formulier Rapporten. Dit is dus niet de bedoeling.
Ik heb wat pogingen gewaagd om in VBA de codering aan te passen, maar ik krijg tot zover alleen maar foutmeldingen. Wie kan mij helpen om de VBA correct aan te passen zodat ik wanneer ik een rapport open (na keuzes gemaakt te hebben) deze in een nieuwe "formulier" open en het formulier Rapporten open blijft?
Code:
Option Compare Database
Option Explicit
'nog geen weekrapport toegevoegd. Anders zou deze beginnen met cijfer 1, dan maand cijfer 2, etc etc
Enum RapportPeriodeEnum
ByMonth = 1
ByQuarter = 2
ByYear = 3
End Enum
Sub PrintRapporten(ReportView As AcView)
' Deze procedure wordt gebruikt in Preview_Click and Print_Click Sub procedures.
' Preview of print rapport geselecteerd in de "ReportToPrint option group".
Dim strRapportNaam As String
Dim strRapportFilter As String
Dim lCrimeTelling As Long
' Bepaal de rapport filtering in de rapporten
If Nz(Me.leRapportFilter) <> "" Then
strRapportFilter = "([RapportGroepeerVeld] = """ & Me.leRapportFilter & """)"
End If
' Bepaal rapport tijdschema
Select Case Me.Ctl1eRapportPeriode
Case ByYear
strRapportNaam = "Jaarlijks rapport"
lCrimeTelling = DCountWrapper("*", "QryRapportenAnalyse", "[Jaar]=" & Me.cbJaar)
Case ByQuarter
strRapportNaam = "Kwartaal rapport"
lCrimeTelling = DCountWrapper("*", "QryRapportenAnalyse", "[Jaar]=" & Me.cbJaar & " AND [Kwartaal]=" & Me.cbKwartaal)
Case ByMonth
strRapportNaam = "Maandelijks rapport"
lCrimeTelling = DCountWrapper("*", "QryRapportenAnalyse", "[Jaar]=" & Me.cbJaar & " AND [Maand]=" & Me.cbMaand)
End Select
' DOEN! MsgBoxOKOnly NoSalesInPeriod opzoeken in tabel. Aanpassen naar bv Geen gegevens in periode
If lCrimeTelling > 0 Then
TempVars.Add "Groeperen op", Me.Ctl1eRapport.Value
TempVars.Add "Weergeven", DLookupStringWrapper("[Weergeven]", "Rapporten", "[Groeperen op]='" & Nz(Me.Ctl1eRapport) & "'")
TempVars.Add "Jaar", Me.cbJaar.Value
TempVars.Add "Kwartaal", Me.cbKwartaal.Value
TempVars.Add "Maand", Me.cbMaand.Value
eh.TryToCloseObject
DoCmd.OpenReport strRapportNaam, ReportView, , strRapportFilter, acWindowNormal
Else
MsgBoxOKOnly GeenGegevensInPeriode
End If
End Sub
Private Sub Ctl1eRapport_AfterUpdate()
InitFilterItems
End Sub
Private Sub Ctl1eRapportPeriode_AfterUpdate()
BepaalRapportPeriode Me.Ctl1eRapportPeriode
End Sub
Private Sub Form_Load()
BepaalRapportPeriode ByYear
InitFilterItems
End Sub
'Toevoeging week: hier zou ik week moeten toevoegen.
Sub BepaalRapportPeriode(RapportPeriode As RapportPeriodeEnum)
Me.Ctl1eRapportPeriode = RapportPeriode
Me.cbKwartaal.Enabled = (RapportPeriode = ByQuarter)
Me.cbMaand.Enabled = (RapportPeriode = ByMonth)
End Sub
Private Sub InitFilterItems()
Me.leRapportFilter.RowSource = DLookupStringWrapper("[Filterrijbron]", "Rapporten", "[Groeperen op]='" & Nz(Me.Ctl1eRapport) & "'")
Me.leRapportFilter = Null
End Sub
Private Sub cmdPreview_Click()
PrintRapporten acViewReport
End Sub
Private Sub cmdPrint_Click()
PrintRapporten acViewNormal
End Sub
Private Function datum() As Date
datum = Nz(DMaxWrapper("[datum]", "Tbl_Invoer_Gegevens"), Date)
End Function