sottoreport vuoto

Anonimo
2012-02-13T10:03:44+00:00

buongiorno a tutti, ho creato un report con un sottoreport, volevo sapere, nel caso in cui il sottoreport e' vuoto, cioe' non ci sono record di dettaglio, come posso non visualizzare la pagina, ho provato a mettere un evento su report vuoto ma non mi funziona, come posso risolvere?

grazie

saluti

Gio'

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-10-11T11:39:08+00:00

Ciao Aurezio,

tu hai 1 report "principale" e 4 sottoreport.

Prima domanda: dove sono inseriti i sottoreport. Nella sezione corpo del report principale?

In questo caso apri il report nell'evento su formattazione del report principale inserisci il codice che avevo indicato

---

Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)

    Me!SubReport.Visible = Me!SubReport.Report.HasData

End Sub


avendo ovviamente cura di sostituire a SubReport, il nome del controllo sottoreport che vuoi condizionare. Ipotizzando che nel tuo caso i 4 sottoreport si chiamino

A,B,C,D avrai:

---

Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)

    Me!A.Visible = Me!A.Report.HasData

    Me!B.Visible = Me!B.Report.HasData

    Me!C.Visible = Me!C.Report.HasData

    Me!D.Visible = Me!D.Report.HasData

End Sub


David

La risposta è stata utile?

0 commenti Nessun commento

25 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-02-13T14:24:40+00:00

    Io credo che l'unico modo sia quello di intervenire sull'origine dati del report principale. Vedi se seguendo questo esempio ottieni quello che cerchi:

    Report1 basato su origine dati Tabella1

    SubReport bastato su Tabella2 (in cui c'è la IdCampo1, chiave esterna su Tabella1).

    Se cambi l'origina dati di Report1 in questo modo:


    SELECT Campo1, Campo2, ... FROM Tabella1

    WHERE Dcount("*","Tabella2","IdCampo1 = " & Campo1) >0


    Otterai su Report1 i record già filtrati.

    Un modo ancora più performante consiste nel mettere in join sull'origine dati di Report1 le due tabelle:


    SELECT Campo1, Campo2, ... From Tabella1 Inner Join Tabella2 On Tabella1.Campo1 = Tabella2.IdCampo1


    David

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2012-02-13T13:54:03+00:00

    Oltre al suggerimento di Mimmo relativo alla proprietà riducibile, guarda anche sull'help di access la proprietà HasData, troverai un esempio risolutivo del tuo problema:

    ---

    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)

        Me!SubReport.Visible = Me!SubReport.Report.HasData

    End Sub


    Da utilizzare nell'evento su formattazione del corpo del tuo report principale

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-02-13T13:52:26+00:00

    Se invece vuoi evitare l'intera pagina, sull'origine dati della maschera Main, devi conteggiare il dettaglio selezionando i soli con Count >0.Spero di essermi spiegato.

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-02-13T13:46:53+00:00

    Ciao,

    prova a imnpostare, per la sottoreport, la proprietà Riducibile a sì ed eventualmente lo stile bordo a trasparente.

    Lo spazio minimo viene comunque impegnato in bianco.

    Mimmo.

    La risposta è stata utile?

    0 commenti Nessun commento