Newsgroup: it.comp.appl.access
Titolo: Cambio colore testo pulsanti - AIUTO

Ho questa configurazione nella maschera:
| 1 |    | 2 |    | 3 |    | 4 |     | 5 |     | OMAGGIO |
sono rispettivamente pulsanti on/off che fanno riferimento a interventi
eseguiti fino al valore omaggio.
Vorrei fare in modo che premendoli (l'effetto bassorilievo è poco leggibile)
questi da testo nero diventino rossi.
E' molto semplice, ma non ci riesco a far cambiare colore al testo una volta
che sono premuti; poi devono ritornare neri
quando li deseleziono.
Il mio problema è che questa maschera preleva dei valori da una tabella e in
funzione di questi valori deve formattare il testo all'interno dei pulsanti
di controllo. Ho da gestire diversi clienti che sono stati già inseriti e
non posso ridigitare il tutto. Mi servirebbe una soluzione tipo
"formattazione condizionale" di excel.
Grazie 1000.

 ha scritto nel messaggio
news:c4hcp4$9os$1...@news.ngi.it...

La formattazione condizionale esiste anche su Access per le versioni
successive ad Access 97.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Si ma non si applicano ai pulsanti o sbaglio? Io ho dei pulsantini quadrati
purtroppo.
Sai darmi due dritte? Grazie 1000.
Lorenzo.

 Lorenzo.
Uso Access 97 che non permette la formattazione condizionale, quindi non ho
cognizione di come si applica e se si può applicare ad un pulsante di
comando.
Se la maschera ha una visualizzazione a Maschera singola.
Se il pulsante di comando si chiama Pippo.
Se vuoi che la scritta del testo del pulsante sia nera in caso in cui la
casella di testo associata Pluto sia uguale a 0 e sia rossa in caso
contrario.
A fronte dell'evento "Su corrente" della maschera genera il seguente codice
VBA:
If Me!Pluto = 0 Then
    Me!Pippo.ForeColor = 0
Else
    Me!Pippo.ForeColor = 255
End If
Ed a fronte dell'evento "Su clic" del pulsante di comando genera il seguente
codice VBA:
IF Me!Pippo.ForeColor = 0 The
    Me!Pippo.ForeColor = 255
    Me!Pluto = 1
Else
    Me!Pippo.ForeColor = 0
    mE!Pluto = o
End If


 ha scritto nel messaggio
news:TT9bc.103444$Kc3.3...@twister2.libero.it...

E' corretto scritto così:
Private Sub Ctl12_Click()
If Me!Ctl12.ForeColor = 0 Then
    Me!Ctl12.ForeColor = 255
    Me![12] = 1
Else
    Me!Ctl12.ForeColor = 0
    Me![12] = 0
End If
End Sub
perchè quando clicco sul pulsante mi dice:
impossibile trovare il campo Ctl12 a cui si fa riferimento nell'espressione.
Il mio campo si chiama 12 e il pulsante anch'esso 12
Grazie di tutto. Ciao Lorenzo.

 ha scritto nel messaggio
news:c4jsqa$1j7$1...@news.ngi.it...

Non sono ancora riuscito a risolvere il problema... mi potete dare una mano
per favore?
Sono nei guai..... grazie a tutti.
Lorenzo.

 ha scritto nel messaggio
news:c4ngr2$37e$1...@news.ngi.it...

Se hai chiamato il pulsante "12" la routine che gestirà l'evento "su clic"
diverrà:
Private Sub 12_Click()
If Me!12.ForeColor = 0 Then
     Me!12.ForeColor = 255
     Me![12] = 1
Else
    Me!12.ForeColor = 0
    Me![12] = 0
End If
End Sub
Ciao.
-- 
Sergio MAZZA

 Grazie di tutto. Ciao Lorenzo.
Innanzitutto in una maschera non ci sono i campi ma i controlli: i campi
sono contenuti solamente nelle tabelle e nelle queries.
Poi non è possibile che nella stessa maschera ci siano due oggetti (una
casella di testo e un pulsante di comando) che abbiano lo stesso nome, nel
tuo caso 12.
C'è qualcosa che non va. ;-)


 ha scritto nel messaggio
news:XlRbc.17032$rM4.7...@news4.tin.it...

Risulta: NOME ELEMENTO ---> 12
            ORIGINE CONTROLLO ---> 12
Quando inserisco un evento su click, mi scrive subito:
Private Sub Ctl12_Click()
così non posso mettere il tuo suggerimento.... come posso fare?
Dovrei fare in modo che i pulsanti rimangano rossi anche una volta chiusa e
riaperta la maschera, mentre a quanto pare diventano rossi dopo il click e
poi se chiudo e riapro ritornano neri (sempre pulsante schiacciato).
Ormai ci impazzisco dietro a queste cose, ti ringrazio degli aiuti sei molto
gentile.
Ciao Lorenzo.

Piccola nota: questo thread è diventato veramente illeggibile. Siamo
arrivati a 163 righe quotate inutilmente per postarne solamente 18.
A parte il rapporto iniquo tra questi numeri, credo che si potrebbe evitare
di quotare e riquotare e riquotare le solite parti di un messaggio ad ogni
risposta.
-- 
Gabriele Bertolucci
PBsoft 
www.pbsoft.it


Come dice Roberto: "c'è qualcosa che non quadra"; se hai impostato il nome
all'elemento "12" come fa access a proporti un nome di routine "Ctl12"?
Poi, se hai inserito gli interruttori (non bottoni) devi gestire l'evento
"dopo aggiornamento" non "su clic".
Ricapitolando; hai degli interruttori associati ai campi sì/no, non puoi
(almeno io non ci sono riuscito) cambiare lo sfondo ma puoi inserire un
rettangolo dietro al bottone (in secondo piano) con lo sfondo già colorato
di (es.) rosso e impostando lo stile sfondo a trasparente.
Nell'evento "su corrente" della maschera inserisci:
Me!nomeRettangolo.BackStyle = IIf(Me!nomeInterruttore, 1, 0)
così, scorrendo i record, il rettangolo si colora secondo il valore nel
campo associato all'interruttore.
Poi nell'evento "dopo aggiornamento" dell'interruttore scrivi:
Select Case Me!nomeInterruttore
    Case -1
        Me!nomeRettangolo.BackStyle = 1
    Case 0
        Me!nomeRettangolo.BackStyle = 0
    Case Else
End Select
Ciao.
--
Sergio MAZZA

 ha scritto nel messaggio
news:c4r9ll$est$1...@canarie.caspur.it...

Sono riuscito con le procedure suggerite a far cambiare colore al testo (mi
va bene anche il colore di fondo) ma non le manteneva scorrendo i record e
tantomeno chiudendo e riaprendo la maschera; funzionano solo diciamo "al
momento" mentre premo, ma sembra che non vadano "al riavvio".
Grazie 1000.
Lorenzo.

 ha scritto nel messaggio
news:c4r9ll$est$1...@canarie.caspur.it...

Ho provato a fare coem mi hai suggerito:
il rettangolino dietro diventa ROSSO quando premo il pulsante e BIANCO
quando non è premuto.
Allora premo il pulsante, tutto OK, poi salvo e chiudo l'inserimento.
Poi riapro la maschera, i pulsanti sono ancora premuti, ma il rettangolino
ritorna BIANCO.
Come mai?
Ciao Lorenzo.

 ha scritto nel messaggio
news:c4r9ll$est$1...@canarie.caspur.it...

Sembra andare.... non voglio gridarlo troppo forte...
Grazie 1000.
Lorenzo.

 ha scritto nel messaggio
news:c4r9ll$est$1...@canarie.caspur.it...

Compe posso impostare lo stile di sfondo del pulsante a TRASPARENTE?
Grazie, Lorenzo.

 Grazie, Lorenzo.
Non puoi con acc'97; delle versioni superiori non ne ho idea...
Ciao.
--
Sergio MAZZA

 Me!nomeRettangolo.BackStyle = IIf(Me!nomeInterruttore, 1, 0)
Dici che nell'help lo trovo? Lo cerco grazie comunque... ciao Lorenzo.

 ha scritto nel messaggio
news:c4rmo7$irs$1...@canarie.caspur.it...

La maschera si apre mostrando i record di una query parametrica.
Se non immetto nessun valore, la maschera mi da un ERRORE di "run-time '94'"
e se schiaccio debug, mi sottolne di giallo questa riga di comando
Me!RETTANGOLO11.BackStyle = IIf(Me![11], 1, 0)
è possibile inserire un'istruzione dove se non trova nessun record, non mi
dia errore?
Grazie 1000. Lorenzo.

 ha scritto nel messaggio
news:c4rogg$9f5$1...@news.ngi.it...

Prova con:
If not isnull(me!11) then
    Me!RETTANGOLO11.BackStyle = IIf(Me![11], 1, 0)
else
    Me!RETTANGOLO11.BackStyle = 0
end if
Ciao.
-- 
Sergio MAZZA


posso inserire anche piů controllo? ho 44 rettangolo da gestire e non so se
sono troppi.
Ciao Lorenzo.

 ha scritto nel messaggio
news:c4skcl$hv7$1...@news.ngi.it...

Prova, non credo ci siano problemi...
Ciao.
--
Sergio MAZZA