Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

rendere visibile un sottoreport a condizione

295 views
Skip to first unread message

Piero

unread,
Dec 11, 2013, 12:34:41 PM12/11/13
to
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


IvanDaBologna

unread,
Dec 13, 2013, 7:31:51 AM12/13/13
to
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

Piero

unread,
Dec 15, 2013, 11:44:01 AM12/15/13
to

"IvanDaBologna" <ivan...@tin.it> ha scritto nel messaggio
news:159c1a76-bf7f-46d0...@googlegroups.com...
Grazie Ivan


Piero

unread,
Dec 16, 2013, 8:05:19 AM12/16/13
to

"Piero" <Pi...@Piero.Libero.it> 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()



IvanDaBologna

unread,
Dec 16, 2013, 8:15:27 AM12/16/13
to
Private Sub Report_Current()

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

IvanDaBologna

unread,
Dec 16, 2013, 8:20:25 AM12/16/13
to
... 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

Karl Donaubauer

unread,
Dec 16, 2013, 10:33:20 AM12/16/13
to
Ciao Ivan,

IvanDaBologna wrote:
> Private Sub Report_Current()
>
> lo selezioni dalla finestra delle propriet� del report, da EVENTO
> 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


Piero

unread,
Dec 16, 2013, 11:04:57 AM12/16/13
to

"Karl Donaubauer" <NoS...@donkarl.com> ha scritto nel messaggio
news:bh8kpo...@mid.individual.net...
> Ciao Ivan,
>
> IvanDaBologna wrote:
>> Private Sub Report_Current()
>>
>> lo selezioni dalla finestra delle propriet� del report, da EVENTO
>> 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
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



Karl Donaubauer

unread,
Dec 17, 2013, 7:36:47 AM12/17/13
to
Piero wrote:
> ...
> 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?

Invece di tutto questo codice di sopra in teoria la soluzione giusta
sarebbe la prima che hai descritto:

> ho provato su formattazione cosi, ma non va bene!
> 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.

Piero

unread,
Dec 17, 2013, 10:44:48 AM12/17/13
to

"Karl Donaubauer" <NoS...@donkarl.com> 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.




Piero

unread,
Dec 17, 2013, 11:00:54 AM12/17/13
to
CUT
>> Controlla una riga prima se
>> Debug.Print Me!S_EmailFornitoriChiusura.Report.HasData
>>
>> nella finestra immediata ti d� il risultato aspettato.
>>
>> --
>> Ciao
> 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




Karl Donaubauer

unread,
Dec 17, 2013, 11:01:38 AM12/17/13
to
Piero wrote:
> "Karl Donaubauer ha scritto:
>>> ...
>>> ho provato su formattazione cosi, ma non va bene!
>>> 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.
>>
> 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.

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

Piero

unread,
Dec 17, 2013, 11:41:54 AM12/17/13
to

"Karl Donaubauer" <NoS...@donkarl.com> 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


Piero

unread,
Dec 18, 2013, 2:51:20 AM12/18/13
to
cut
>>> sottoreport) anzich� una.
>>
>> Questo (forse) � la risposta sulla mia richiesta di chiarimento 1.
>> Com'� la risposta sulla richiesta 2?
>>
> 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


Piero

unread,
Dec 18, 2013, 4:33:14 AM12/18/13
to
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



Piero

unread,
Dec 18, 2013, 5:56:00 AM12/18/13
to

"Piero" <Pi...@Piero.Libero.it> 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



Piero

unread,
Dec 18, 2013, 9:31:34 AM12/18/13
to

"Piero" <Pi...@Piero.Libero.it> 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


0 new messages