Annullare la stampa di un report se non contiene record

Nota: Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l'articolo in lingua inglese per riferimento.

Per impostazione predefinita, è possibile stampare report che non contengono record. Per risolvere questo problema, è possibile usare una macro o un codice di Microsoft Visual Basic, Applications Edition (VBA) per rilevare l'assenza di record in un report e quindi annullare l'operazione di stampa. I passaggi descritti in questo articolo spiegano come usare entrambe le tecniche.

Per saperne di più

Usare una macro per annullare la stampa

Usare il codice VBA per annullare la stampa

Probabilmente si vuole annullare la stampa di un report quando non contiene record. Ad esempio, se si sta iniziando a vendere un nuovo prodotto, è probabile che ci sia un periodo di tempo in cui è ancora necessario registrare le vendite. Si dovrebbe pertanto prendere in esame la possibilità che alcuni dei report non contengano i record di dettaglio e che le funzioni di aggregazione, ad esempio la funzione conta , potrebbero non avere nulla da contare. Per gestire l'evento in modo corretto, è possibile creare una macro che annulla il processo di stampa. È anche possibile aggiungere alcune righe di codice VBA con cautela per eseguire la stessa operazione. VBA è il linguaggio di programmazione usato da Access.

È possibile aggiungere la macro o il codice VBA nella routine evento del report su No daTA . Access attiva l'evento on no data ogni volta che si esegue un report che non contiene record. La macro e il codice VBA descritto in questo articolo visualizzano un messaggio appropriato e annullano la stampa del report quando il report non contiene dati. Quando si aggiunge una macro o un codice VBA nella routine evento on no data , la macro o il codice VBA viene visualizzato ogni volta che si apre un report che non contiene record. Quando si fa clic su OK per chiudere il messaggio di avviso, la macro chiude anche il report vuoto. Quando si aggiunge la macro o il codice VBA al report, il report vuoto non si apre quando si prova a visualizzarlo in visualizzazione report o in visualizzazione layout, ma è possibile aprirlo in visualizzazione struttura.

Usare una macro per annullare la stampa

Nella macro descritta in questa sezione viene visualizzato un messaggio di avviso quando si tenta di stampare un report vuoto. Quando si fa clic su OK per chiudere la finestra del messaggio, la macro annulla automaticamente l'operazione di stampa. Se non si include un messaggio di avviso, verrà visualizzato come se non succedesse nulla quando si tenta di stampare il report, in modo da confondere probabilmente gli utenti del report.

Creare la macro

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sul report che si desidera modificare e scegliere visualizzazione struttura.

  2. Nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Finestra delle proprietà.

    -oppure-

    Fare doppio clic sulla casella nell'angolo in alto a sinistra o a destra del report, a seconda delle impostazioni internazionali e della lingua.

  3. Fare clic sulla scheda evento e quindi, nella casella della proprietà Nessun dato , fare clic su Pulsante Generatore .

    Verrà visualizzata la finestra di dialogo Scegli generatore .

  4. Fare clic su Generatore di macroe quindi su OK.

    La finestra di progettazione macro viene avviata e viene visualizzata una macro vuota.

  5. Nell'elenco a discesa delle azioni di macro nella finestra Progettazione macro selezionare MessageBox nell'elenco.

  6. nella casella messaggio Digitare il testo per il messaggio di avviso.

    Ad esempio, è possibile immettere quanto segue: non sono presenti record da segnalare.

  7. Facoltativamente, modificare il valore dell'argomento nella casella Beep da a No e, nell'elenco tipo , selezionare il tipo di icona che si vuole visualizzare nel messaggio di avviso.

  8. Nella casella titolo Digitare il titolo per il messaggio di avviso.

    Ad esempio, è possibile immettere Nessun record.

  9. Selezionare l'elenco a discesa delle azioni macro sotto l'azione MessageBox e quindi selezionare AnnullaEvento.

  10. Nel gruppo Chiudi della scheda progettazione fare clic su Salva.

  11. Nel gruppo Chiudi della scheda Struttura fare clic su Chiudi. Se viene visualizzato un messaggio di avviso e si chiede se si desidera salvare le modifiche apportate alla macro e alla proprietà report, fare clic su , chiudere il report, salvare le modifiche se richiesto e continuare con i passaggi successivi per testarlo.

Verificare la macro

  • Nel riquadro di spostamento fare clic con il pulsante destro del mouse sul report che contiene la macro e scegliere stampa. A seconda delle opzioni scelte, Access visualizza un messaggio di avviso.

    Quando si fa clic su OK per chiudere il messaggio, l'azione AnnullaEvento interrompe l'operazione di stampa. Poiché non è stato specificato alcun altro evento, ad esempio l'apertura del report per la visualizzazione, il report si chiude.

Inizio pagina

Usare il codice VBA per annullare la stampa

Il codice VBA descritto in questo articolo funziona in modo molto simile alla macro descritta nella sezione precedente, in cui viene visualizzato un messaggio di avviso quando si apre un report vuoto e quindi si annulla l'operazione di stampa quando si chiude il messaggio di avviso.

Aggiungere codice VBA

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sul report che si desidera modificare e scegliere visualizzazione struttura.

    Nota: Per completare questa procedura, usare un report che non contiene record.

  2. Nel gruppo Mostra/Nascondi della scheda Progettazione fare clic su Finestra delle proprietà.

    -oppure-

    Fare doppio clic sulla casella nell'angolo in alto a sinistra o a destra del report, a seconda delle impostazioni internazionali e della lingua.

  3. Fare clic sulla scheda evento e quindi, nella casella della proprietà Nessun dato , fare clic su Pulsante Generatore .

    Verrà visualizzata la finestra di dialogo Scegli generatore .

  4. Fare clic su Generatore di codicee quindi su OK.

    Verrà avviato Visual Basic Editor e verrà visualizzata una routine evento vuota.

  5. Al termine, digitare il codice seguente in Visual Basic Editor in modo che la procedura Report_NoData appaia esattamente come segue:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Al termine, fare clic su filee quindi su Salva.

  7. Fare clic su filee quindi su Chiudi e torna a Microsoft Access.

  8. Chiudere il report aperto e quindi fare clic su per confermare il salvataggio.

  9. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sul report appena modificato e scegliere stampa. A seconda delle opzioni scelte, Access visualizza un messaggio di avviso.

La routine Report_NoData usa la funzione MsgBox per visualizzare il messaggio non ci sono record da segnalare e un pulsante OK . Quando si fa clic su OK, la riga "Cancel = true" nella procedura indica a Access di annullare il report. Cancel è un argomento che viene automaticamente passato alla routine evento ed è sempre controllato da Access al termine della procedura dell'evento.

Inizio pagina

Amplia le tue competenze su Office
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×