Newsgroup: it.comp.appl.access
Titolo: colorare di rosso etichetta

In un maschera tabellone turni mensili vorrei colorare di rosso le
etichette corrispondenti ai giorni del mese delle domeniche.
Ho provato in rete ma non sono riuscito a trovare niente,
qualcuno può darmi qualche indicazione ?
Grazie

 ha scritto nel messaggio 
news:eaf6c070-8989-4bbc...@h30g2000vbr.googlegroups.com...
In un maschera tabellone turni mensili vorrei colorare di rosso le
etichette corrispondenti ai giorni del mese delle domeniche.
Ho provato in rete ma non sono riuscito a trovare niente,
qualcuno pu� darmi qualche indicazione ?
Grazie
Io farei tutto da codice.
Sostanzialmente si tratta di verificare se il giorno della data � una 
domenica.
Per esempio se da questa funzione, a cui passo una data, ottengo True, vuol 
dire che si tratta di una domenica:
Public Function DimmiDomenica(Unadata As Date) As Boolean
If Weekday(Format(Unadata, "dd/mm/yyyy"), vbMonday) = 7 Then
DimmiDomenica = True
Else
DimmiDomenica = False
End If
End Function
Dunque posso sfruttare la funzione per esempio cos�:
If DimmiDomenica(Format(MiaData, "dd/mm/yyyy"))  = True Then
Me.TuaEtichetta.BackColor = vbGreen '(verde - per il rosso vbRed)
Else
me.Tuaetichetta.BackStyle = 0 '(trasparente)
Me.TuaEtichetta.BackColor = -
2147483633
 '(puoi usare il colore che vuoi)
End if
Potresti ulteriormente semplificare incorporando il tutto in un'unica 
istruzione:
If Weekday(Format(Tuadata, "dd/mm/yyyy"), vbMonday) = 7 then
Me.TuaEtichetta.BackColor = vbGreen '(verde - per il rosso vbRed)
Else
me.Tuaetichetta.BackStyle = 0 '(trasparente)
Me.TuaEtichetta.BackColor = -
2147483633
 '(puoi usare il colore che vuoi)
End if
Ciao, Carlo 

 Grazie
Se ti posizioni sul controllo puoi impostare la formattazione condizionale 
inserendo come espressione
Weekday([DataDocumento],vbMonday)=7 e dare la formattazione che vuoi
Ciao 

 Ciao
si tratta di 31 etichette quali intestazioni di altrettanti
controlli,
corrispondenti ai giorni del mese, mi pare
che per le etichette non ci sia la formattazione condizionale, o no ?

 Ciao, Carlo
Grazie Carlo
provo a spiegarmi meglio
il mio tabellone è composto tra l'altro da 31 campi corrispondenti
ai giorni del mese, e altrettante etichette quali intestazioni delle
colonne,
per colorare le etichette corrispondenti alle domeniche ho fatto così:
.....
xmese = Me.CasellaCombinata105.ListIndex + 1
primogiorno = DateSerial(Year(Date), xmese, 1)
UltimoGiorno = Day(DateSerial(Year(Date), xmese + 1, 1) - 1)
NumGiorno = Weekday(primogiorno, vbMonday)
numlabel = 8 - NumGiorno
For x = 1 To UltimoGiorno
    NOMELABEL = "etichetta_" & Trim(Str(numlabel)) ' costruisce il
nome dell'etichetta
    Me(NOMELABEL).ForeColor = 255
    Me(NOMELABEL).FontBold = True
    Me(NOMELABEL).BackColor = 65280
    numlabel = numlabel + 7
Next
in pratica in modo molto rozza mi ricavo il primo giorno del mese
e così trovo le domeniche, anche se funziona preferirei qualcosa
di più elegante o meglio ancora se era possibile qualcosa tipo
la formattazione condizionale
Ciao

 che per le etichette non ci sia la formattazione condizionale, o no ?
S� per le etichette non c'�.
Devi prender il secchio di vernice � pitturarle una per una con un ciclo for 
next.
Oppure convertire le etichette in caselle di testo e darli la formattazione 
condizionata che funziona, non  d� per scontato che si sappia, anche con 
espressioni riferite ad altri controlli ed eviti il ciclo
Ciao.

 ha scritto nel messaggio 
news:f776aca2-c309-41ae...@q14g2000vbi.googlegroups.com...
cut
mi spiego meglio:
il record � formato tra l'altro, oltre che dall'id anagrafica e dal
campo mese da
31 campi uno per ogni giorno del mese, allora io molto artiginalmente
mi sono
costruito questa  routine che funziona ma pensavo a qualcosa di pi�
elegante
o immediata come appunto la formattazione condizionale che ho usato
per colorare i caratteri dei 31 campi ad esempio di rosso quando
contiene
la lettera R   che significa riposo e cosi via.
Qualcosa del genere?
http://www.carlocostarella.it/ImgTurni.jpg
Ciao, Carlo

 Ciao, Carlo
per quanto riguarda le etichette è esattamente quello che ho ottenuto
io col mio
ciclo, per i campi invece con la formattazione condizionale è tutto ok
tu per le etichette che metodo hai usato ?

 Ciao, Carlo
per quanto riguarda le etichette � esattamente quello che ho ottenuto
io col mio
ciclo, per i campi invece con la formattazione condizionale � tutto ok
tu per le etichette che metodo hai usato ?
__----------------------------------
Pi� o meno la stessa cosa: le etichette hanno un nome del tipo 01E, 02E, 
03E...
"E" mi fa capire che si tratta di una etichetta perch� ho la necessit� di 
applicare il codice anche agli altri controlli della form che hanno altri 
postfissi come "A", "B" o "C" e che devono colorarsi in modo diverso.
(qui si possono usare le propriet� TAG del controllo)
Via codice ciclo su ciascun controllo filtrando solo le etichette: 
ControlType = 100 And Right(.Name, 1) = "E" .
MioGiorno sar� MioGiorno = Left(.Name, 2), cio� i primi due caratteri del 
nome dell'etichetta.
A questo punto mi costruisco la data:
MiaData = MioGiorno & "/" & RestituisciMese(Me.Mese) & "/" & Me.Anno
Se
If Weekday(Format(MiaData, "dd/mm/yyyy"), vbMonday) = 7 Then
applico il colore all'etichetta:
Set ML = Me.Controls(.Name)
            With ML
            .BackColor = vbGreen
            End With
E' chiaro che possono esserci modi diversi e che il codice esposto � solo 
uno spezzone, ma il concetto � quello.
Ciao, Carlo 

 Ciao, Carlo
Ok grazie