Newsgroup: it.comp.appl.access
Titolo: colorare campi in un report in base al loro valore

Salve a tutti, non riesco ad impostare il colore di sfondo dei campi di un 
report, in base al loro valore.
In pratica:
devono essere elencati in un report, le presenze mensili degli ospiti di una 
struttura.
I record (uno per ogni ospite), comprendono, oltre all'Id dell'ospite 
chiaramente, i 31 campi (Integer) relativi ai giorni del mese, nel quale 
viene memorizzato il codice numerico relativo alla presenza, assenza 
momentanea, definitiva, et,
Ho quindi bisogno di "reportare" in modo chiaro (attraverso differenti 
colorazioni), lo status quotidiano di ogni ospite.
Ho già previsto un "codice" di colore per ogni diverso status: come potrei 
quindi impostare lo sfondo di ogni campo all'interno di ogni record ?
Ho visto qualcosa ma, relativo alle FORM, ma non ai REPORT.
Grazie 1000 a chiunque potrà darmi suggerimenti.
Marco

 Grazie 1000 a chiunque potrà darmi suggerimenti.
Sfrutta l'evento su formattazione e mettici qualcosa tipo:
IF Me.TuoCampo="quello che vuoi" then
    Me.Corpo.BackColor=255
else
    Me.Corpo.BackColor=16000000
end if
Ciao
Davide
-- 
http://www.gestionedati.com
"...perchè non esistono saggi per nascita."
(Ptahhotep, 2640 ac)

 ha scritto nel messaggio 
news:481f119c$0$41653$4faf...@reader4.news.tin.it...

Ti ringrazio Davide:
ho provato e ne vedo gli effetti.
Il problema è che l'evento 'su formattazione' (nella sezione: Corpo) mi 
reimposta i colori di background su tutti i record, in base al primo record 
che ho in tabella (così mi è sembrato).
Come posso fargli fare questa cosa su ogni record?
Di seguito il mio codice:
' --- ci sono 31 campi in ogni record, relativo ad ogni ospite nella 
struttura, quindi uso un ciclo for next 1 to 31 per riassegnare il Backcolor 
di ognuno, in base al loro valore ascii.
For nx = 1 To 31
Select Case Asc(Me("x" & nx))
Case legenda(1)
Me("x" & nx).BackColor = colore(1)
Case legenda(2)
Me("x" & nx).BackColor = colore(2)
Case legenda(3)
Me("x" & nx).BackColor = colore(3)
end select
Grazie 1000
Marco 

 ha scritto nel messaggio 
news:mYTTj.32994$o06....@tornado.fastwebnet.it...

Usa dal menu formato - formattazione condizionale
Ciao
--
Roberto da Parma 

 ha scritto nel messaggio 
news:48202919$0$29598$4faf...@reader1.news.tin.it...

Ti ringrazio Roberto
Però non capisco: di ogni casella di testo ho la possibilità di gestirne il 
formato, ma la formattazione condizionale non so dove trovarla.
Se invece intendi il menù Formato di Accss in generale, ho solo la 
possibilità di creare una formattazione automatica, (e non credo sia la 
stessa cosa).
Ho bisogno di richiamare la mia SUB che imposta lo sfondo di ognuno dei 31 
campi (giorni del mese), per ogni record che viene stampato nel report 
(ospiti).
Scusami, forse sono completamente fuori strada io, non riesco a capire!
Grazie ancora
 Marco

 ha scritto nel messaggio 
news:Bh%Tj.33726$o06....@tornado.fastwebnet.it...

Facciamo ordine, giusto per non aver capito male...
-Suppongo tu abbia un report/maschera con i 31 campi...
-Selezioni il campo (ma se li selezioni tutti lo puoi fare in un colpo solo) 
vai nel menu - formato - formattazione condizionale
-Setti il colore che vuoi in base al criterio che credi opportuno.
l'unica restrizione è che puoi  settare fino a 3 condizioni (credo) per la 
stessa casella ...
Diversamente puoi scriverti il tutto anche su VBA nell'evento Su 
Formattazione, magari associ un tag alle tue caselle e poi esegui un ciclo 
impostando i colori di background di ogni casella...
Vedi un pò te...
Ciauz
--
Roberto da Parma 

 ha scritto nel messaggio

CUT
No Marco, così non va bene.
L'evento su formattazione viene eseguito ogni volta che viene formattata una
riga, quindi non devi ciclarla tu ta codice con un for to, la cicla da se
riga per riga, tu devi solo mettere la condizione come ti ho fatto vedere
nell'esempio, evvo perchè non funziona il tuo codice.
Ciao
Davide (Sib)

"massimo874" <massimo874_SP...@inwind.it.invalid> ha scritto nel 
messaggio news:4820e1a0$0$40218$4faf...@reader5.news.tin.it...

Si Davide, questo lo so: il mio problema è assegnare (per ogni riga) il 
giusto colore di sfondo ad ognuno delle 31 caselle di testo relative alle 
presenze giornaliere del mese (una riga = presenze mensili  di ogni persona)
Utilizzando il tuo codice infatti, con un ciclo for next assegno il 
backcolor ad ogni variabile dello stesso record.
Grazie ancora
Marco