geen formulier afdrukken als er geen data is

  • Onderwerp starter Onderwerp starter RSpan
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

RSpan

Gebruiker
Lid geworden
10 jun 2009
Berichten
166
Hallo Forumleden

Doormiddel van een formulier met comboboxen wordt er een selectie gemaakt en aan de hand van die selectie wordt er een rapport geprint.
Werkt naar behoren.
Echter hij print ook als er geen gegevens in de tabel staan m.b.t. de geselecteerde items in de comboboxen.
Is het mogelijk om dit af te vangen, dus als er geen data over de gevraagde periode zijn dat er dan een melding komt “geen gegevens”

Ik heb wel iets dergelijks gevonden op de site maar daar ging het om te versturen rapporten.
Mijn kennis is niet voldoende om deze codes om te bouwen naar mijn situatie toe.

Hieronder tref je mijn code aan die ik gebruik om de rapporten te printen.
Ergens moet denk ik dus een code komen die er voor moet zorgen dat er geen lege rapporten worden geprint.
Bv kijkt of het datumveld is ingevuld.
If [datum]>0 then dan de rest … en dus printen
End if dan MsgBox "geen gegevens om te printen maak andere keuze"

Ik hoop dat iemand me verder kan helpen

Groet
René

Code:
Private Sub cmdResetP_Click()
    Me.cboSelectNameP = Null
    Me.cboSelectWeekP = Null
   
End Sub

Private Sub cmdGenerateReportP_Click()
    On Error GoTo Err_cmdGenerateReportP_Click

    Dim stDocName As String
    Dim stWhere As String
   
        If IsNull(Me.cboSelectNameP) Then
            MsgBox "U moet nog een naam selecteren"
         Else
          If IsNull(Me.cboSelectWeekP) Or IsNull(Me.cboSelectNameP) Then
            MsgBox "U moet nog een weeknr selecteren"
         Else
            If Not IsNull(Me.cboSelectNameP) Then
                stWhere = "[patientID]=" & Me.cboSelectNameP & " And "
                blnTrim = True
          End If

                If Not IsNull(Me.cboSelectWeekP) Then
                    stWhere = stWhere & "[WeekID]=" & Me.cboSelectWeekP & " And "
                    blnTrim = True
           End If
          
                    If blnTrim Then
                        stWhere = Left(stWhere, Len(stWhere) - 5)
            End If
                                      
                stDocName = "rptVbladPat"
                DoCmd.OpenReport stDocName, acPreview, , stWhere
                DoCmd.OpenReport stDocName, acViewNormal, , stWhere
                DoCmd.Close
                
                stDocName = "rptfactP"
                DoCmd.OpenReport stDocName, acPreview, , stWhere
                DoCmd.OpenReport stDocName, acViewNormal, , stWhere
                DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, "", False
                DoCmd.Close
                          
                stDocName = "rptfactFrl"
                DoCmd.OpenReport stDocName, acPreview, , stWhere
                DoCmd.OpenReport stDocName, acViewNormal, , stWhere
                DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, "", False
                DoCmd.Close
                
                stDocName = "rptWkUitbFrl"
                DoCmd.OpenReport stDocName, acPreview, , stWhere
                DoCmd.OpenReport stDocName, acViewNormal, , stWhere
                DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, "", False
                DoCmd.Close
                
            End If
          End If
    
Exit_cmdGenerateReportP_Click:
    Exit Sub

Err_cmdGenerateReportP_Click:
    MsgBox Err.Description
    Resume Exit_cmdGenerateReportP_Click

End Sub
 
Ik heb de oplossing inmiddels gevonden.:)

In het rapport heb ik bij gebeurtenis onderdeel "geen gegevens" een gebeurtenisprocedure gezet nl. Cancel = True
en in de formuliercode heb ik bij
Code:
Err_cmdGenerateReport_Click:
MsgBox "Er zijn geen gegevens om te printen"
[CODE]
gezet.

als er nu geprobeerd wordt om een rapport te printen terwijl er over die periode geen gegevens zijn krijg je de melding "Er zijn geen gegevens om te printen":)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan