Newsgroup: it.comp.appl.access
Titolo: rendere visibile un sottoreport a condizione

ciao a tutti
 
ho due sottoreport e vorrei che "S_EmailFornitori" sia visibile solo
se "S_EmailFornitoriChiusura" � nullo
 
ho provato su formattazione cosi, ma non va bene!
Me!S_EmailFornitori.Visible = Me!S_EmailFornitoriChiusura.Report.HasData
 
grazie 
 
 

Ciao Piero.
Io ho trovato una soluzione che non so dirti se sia la piu' rapida o pulita.
 
Credo che i due sottoreport a cui ti riferisci siano inseriti nel 'Corpo' del report principale. 
--------------
Sul sottoreport S_EmailFornitoriChiusura ho inserito :
 
Private Sub Report_NoData(Cancel As Integer)
    Me.Visible = False
    S_EmailFornitori.Visible = True
End Sub
--------------
Nel report principale, per riportare ad ogni record la situazione allo stato originale, ho inserito :
 
Private Sub Report_Current()
    S_EmailFornitoriChiusura.Visible = True
    S_EmailFornitori.Visible = True
End Sub
 
i due sottoreport non hanno bordi ne etichetta ... cosi' spariscono alla vista nelle condizioni previste.
 
inoltre ho impostato per ambedue i sottoreport dal menu Formato:
Riducibile --> Si
 
saluti
 
Ivan

 ha scritto nel messaggio 
news:159c1a76-bf7f-46d0...@googlegroups.com...

Grazie Ivan
 
 

 ha scritto nel messaggio 
news:52addb9b$0$23125$4faf...@reader2.news.tin.it...

Ciao Ivan
 
io ho Access 2003
e non trovo
Private Sub Report_Current()
 
 
 

Private Sub Report_Current()
 
lo selezioni dalla finestra delle proprietà del report, da EVENTO scegli Su Corrente , ti apre la sub citata.

... oppure dall'editor VBA vai nel codice del Report  e dalla casella a dx selezioni Current ... lui ti compone  :  Private Sub Report_Current, o meglio ancora copi e incolli le tre righe che ti ho postato e semmai aggiusti i nomi.
 
Ivan

 scegli Su Corrente , ti apre la sub citata.
 
Quest'evento per i report esiste solo da Access 2007 in poi.
Si riferisce e succede solo per le vis. report e layout. Quindi
non serve per impostazioni per la vis. anteprima o stampa.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 


ciao Karl
hai qualche suggerimento in merito?
 
in eventi del sottoreport S_Email_Fornitori ho
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    Me!Email1.Visible = (Me!Esclusa = 0) 'cosi' posso escludere o meno le 
email
End Sub
Private Sub Report_NoData(Cancel As Integer)
    Me.Visible = False
End Sub
 
in eventi del sottoreport S_EmailFornitoriChiusura ho
Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    Me!Email_ChiusuraCarico1.Visible = (Me!Esclusa = 0)
End Sub
Private Sub Report_NoData(Cancel As Integer)
    Me.Visible = False
End Sub
 
Ora nel report principale come posso nascondere il sottoreport
S_Email_Fornitori  nel caso in cui il sottoreport S_EmailFornitoriChiusura � 
vuoto o non ha email visibili?
grazie
 
 
 

 Me!S_EmailFornitori.Visible = Me!S_EmailFornitoriChiusura.Report.HasData
 
"Su formattazione" di cosa? Quale oggetto, quale sezione?
 
Controlla una riga prima se
Debug.Print Me!S_EmailFornitoriChiusura.Report.HasData
 
nella finestra immediata ti d� il risultato aspettato.


 ha scritto nel messaggio 
news:bhaur3...@mid.individual.net...

Ciao Karl
in pratica io ho due sottoreport in intestazione report (cio� nel report 
principale)
1-S_EmailFornitoriChiusura
2-S_EmailFornitori
e su formattazione d intestazione report ho inserito
Me!S_EmailFornitori.Visible = Me!S_EmailFornitoriChiusura.Report.HasData
 
ma il sottoreport "S_EmailFornitori" (che dovrebbe mostrare l'email solo se
S_EmailFornitoriChiusura non ha email oppure se nascoste), me lo mostra 
ugualmente cosi'
alla fine nel report princiaple ho due email (di entrami i sottoreport) 
anzich� una.
 
 
 
 


ho dimenticato di dire,
che se manca l'email nel sottoreport S_EmailFornitoriChiusura
in questo caso da il giusto risultato, cio� mi mostra l'email
del sottoreport S_EmailFornitori
 
 
 
 

 sottoreport) anzich� una.
 
Questo (forse) � la risposta sulla mia richiesta di chiarimento 1.
Com'� la risposta sulla richiesta 2?


 ha scritto nel messaggio 
news:bhbar3...@mid.individual.net...

non sono sicuro di aver fatto bene il debug
ho Errore di compilazione
La variabile non � ancora stata creata in questo contesto
 
 


ciao Karl
con questa:
Me!S_EmailFornitori.Visible = Me!S_EmailFornitoriChiusura.Report.HasData
mi esegue correttamente se non � presente o visibile
l'email su Me!S_EmailFornitoriChiusura.
Nel caso contrario, mi mostra le email di entrambi i sottoreport
 
 
Mentre con quest'altra:
Me!S_EmailFornitori.Visible = Not Me!S_EmailFornitoriChiusura.Report.HasData
mi esegue correttamente se � presente o visibile
l'email su Me!S_EmailFornitoriChiusura.
Nel caso contrario, non mi mostra l'email del sottoreport 
Me!S_EmailFornitori
che dovrebbe essere visibile solo me non c'� nell'altro sottoreport 
 
 

ciao Karl
con questa:
Me!S_EmailFornitori.Visible = Me!S_EmailFornitoriChiusura.Report.HasData
mi esegue correttamente se non � presente o visibile
l'email su Me!S_EmailFornitoriChiusura.
Nel caso contrario, mi mostra le email di entrambi i sottoreport
 
 
Mentre con quest'altra:
Me!S_EmailFornitori.Visible = Not Me!S_EmailFornitoriChiusura.Report.HasData
mi esegue correttamente se � presente o visibile
l'email su Me!S_EmailFornitoriChiusura.
Nel caso contrario, non mi mostra l'email del sottoreport
Me!S_EmailFornitori
che dovrebbe essere visibile solo se non c'� nell'altro sottoreport
 
 
 

 ha scritto nel messaggio 
news:52b16b22$0$1381$4faf...@reader1.news.tin.it...

in definitiva questo codice; che c'� o non c'�
non cambia nulla
Me!S_EmailFornitori.Visible = Me!S_EmailFornitoriChiusura.Report.HasData
 
 
 

 ha scritto nel messaggio 
news:52b17e80$0$1377$4faf...@reader1.news.tin.it...

cosi' sembra funzionare
Private Sub IntestazioneReport_Format(Cancel As Integer, FormatCount As 
Integer)
 
    If Me!S_EmailFornitoriChiusura.Report!Email_ChiusuraCarico1.Visible = 
True And _
        Me!S_EmailFornitoriChiusura.Report.HasData Then
        Me!S_EmailFornitori.Visible = False
    Else
        Me!S_EmailFornitori.Visible = True
    End If