Newsgroup: it.comp.appl.access
Titolo: Ottimizzare spazi in report

Buon giorno a tutti.
Ho creato una piccola rubrica telefonica. Al suo interno ho previsto 
l'imissione di 2 numeri di telefono fisso, 2 numeri di cellulare ed 1 numero 
di fax e fin quì tutto bene.
Domanda: Nel report che ho creato ho inserito tutti i 5 campi anche se 
alcuni rimarranno vuoti, per esempio se un utente ha solamente un numero di 
telefono. E' possibile fare in modo che le diciture prive di numero 
telefonico non compaiaio nel report in modo da ottimizzare anche le pagine 
da stampare? In che modo?
Grazie per l'attenzione.
Rob. 



Ciao,
crea una casella di testo abbastanza larga da contenere il contenuto di
tutti i campi.
Poi imposta l'origine del controllo della stessa a:
=[NomeCampo1] & " " & [NomeCampo2] & " " [NomeCampoN]
Puoi complicarla un pò
=IIF(IsNull([NomeCampo1]);"";[NomeCampo1] & " ")&
IIF(IsNull([NomeCampo2]);"";[NomeCampo2] & " ") &
IIF(IsNull([NomeCampoN]);"";[NomeCampoN])
Spero di non aver commesso errori nella digitazione,
ciao.
Francesco G. Rizzoni

 Francesco G. Rizzoni
Grazie per la dritta ma non so se possa fare al caso mio, ti spiego perchè. 
Forse con un esempio riesco ad essere più comprensibile.
Supponiamo che abbia l'utente denominato prova con un solo n. di telefono, 
nel mio record viene visualizzato nel seguente modo:
PROVA                                                  Tel1  0309525725
                                                               Tel2
                                                               Cel1
                                                               Cel2
                                                               Fax
-----------------------------------------------
Come vedi mi trovo nella stampa del report uno spazio che non serve al di 
sotto del Tel1 fino alla riga che delimita l'utente prova. Riuscendo a 
visualizzare le diciture Tel1 Tel2 etc. solamente quando esiste un numero 
telefonico, in fase di stampa della rubrica anzichè per esempio impegnare 15 
fogli per gli utenti che iniziano per la lettera B, potrei utilizzarne la 
metà se non anche meno.
Spero di essere stato esaudiente con l'esempio. Grazie per l'attenzione.
Rob.

 
[CUT]
Puoi sfruttare in 2 modi la proprietŕ 'Espandibile' della casella/e di
testo impostandola a Sě :
Come hai giŕ fatto, rendendo sottilissimi i tuoi controlli e mettendoli uno
immediatamente sotto l'altro. All'atto della stampa verranno espansi
secondo la presenza o meno di testo da stampare.
Oppure modificando il mio primo suggerimento, ti crei sempre un solo
controllo con origine calcolata (proprietŕ 'espandibile' = Sě) in cui la
formula č:
=IIF(IsNull([NomeCampo1]);"";[NomeCampo1] & Chr(13) & Chr(10))&
IIF(IsNull([NomeCampo2]);"";[NomeCampo2] & Chr(13) & Chr(10)) &
IIF(IsNull([NomeCampoN]);"";[NomeCampoN])
Ciao.

 Ciao.
Grazie ancora. Per i controlli ok, posso renderli sotilissimi ma al contempo 
vorrei evitare di visualizzare tutte le etichette relative ai controlli che 
non riportano alcun valore in modo come dicevo, da recuperare spazio in 
stampa tra un utente e l'altro. Come si può procedere?
Grazie.
Roberto

 Francesco G. Rizzoni
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it


("Tel: " +Nomecampo) & (chr(13) & chr(10) & "Fax:" + (Nomecampo2)


 Info:  
www.donkarl.com/it
Ciao Max apprezzo moltissimo il tuo intervento, purtroppo per le mie 
conoscenze sei stato troppo sintetico, chiedo venia. Come e dove dovrei 
agire riportanto quanto sopra e nell'altro tuo post?
Grazie.
Roberto

 Roberto
Ciao č solo una correzione all'istruzione del campo calcolato che verificava
se c'era o meno lo spazio
In realtŕ č un controllo non associato con un campo calcolato che
sostituisce gli altri controlli


 Info:  
www.donkarl.com/it
Scusami se tardo a rispondere. Ho provato e riprovato quanto riportato ma 
non sono riuscito a metterlo in pratica. Scrivo solo ora perchè volevo 
proprio vedere quanto dura ho la testa...
Rob.


Ok cosa hai fatoo?


 Info:  
www.donkarl.com/it
In pratica niente, non sono riuscito a fare quello che volevo fare.
Rob.


ok allora dacci l'istrizone select normale del report che vediamo di
sistemarla


 Info:  
www.donkarl.com/it
L'origine record del mio report è basata su questa query:
SELECT DISTINCTROW [Utenza telefonica].Utente, [Utenza telefonica].TelUno, 
[Utenza telefonica].TelDue, [Utenza telefonica].CelUno, [Utenza 
telefonica].CelDue, [Utenza telefonica].Fax
FROM [Utenza telefonica]
GROUP BY [Utenza telefonica].Utente, [Utenza telefonica].TelUno, [Utenza 
telefonica].TelDue, [Utenza telefonica].CelUno, [Utenza telefonica].CelDue, 
[Utenza telefonica].Fax
HAVING ((([Utenza telefonica].Utente) Like [Forms]![Finestra stampa 
agenda]![CasellaCombinata0]));
Ti ringrazio.
Roberto.


mannaggia li pescetti... voi ed il quoting...
se ricordo bene tu hai la necessità di
crearti un campo calcolato che se ha un campo valorizzato deve metterci
anche l'etichetta che lo connota e cmq ad ogni valore deve andare accapo
il campo è questo
Pippo: ("Utente: "+[Utente]) & (Chr(13)+Chr(10)+"tel: "+[tel1]) & Chr(13) &
Chr(10) & ("tel: "+[tel2])
l'istruzione
SELECT ("Utente: "+[Utente]) & (Chr(13)+Chr(10)+"tel: "+[tel1]) & Chr(13) &
Chr(10) & ("tel: "+[tel2]) AS Pippo
FROM [Utenza telefonica]
GROUP BY ("Utente: "+[Utente]) & (Chr(13)+Chr(10)+"tel: "+[tel1]) & Chr(13)
& Chr(10) & ("tel: "+[tel2]);


 Info:  
www.donkarl.com/it
Ciao Max.
Non te la prendere... ti ringrazio per gli sforzi e per aver sopportato il 
quoting maxi. Non riesco a mettere in pratica quanto sopra, comunque non 
importa. Non voglio farVi perdere ulteriore tempo. Faccio tesoro di tutto 
questo e quando sarò più all'altezza tenterò di metterlo in pratica.
Grazie infinite.
Rob.