Newsgroup: it.comp.appl.access
Titolo: Formattazione condizionale con 16mil colori...?

Salve,
salvate una persona (cioč io) dall'esaurimento nervoso Vi prego..!
Ho una maschera access continua.
In un campo numerico ci sono valori che vanno da 0 a 16581375.
Questi valori corrispondono a colori.
E fin qui siamo tutti d'accordo....
Io vorrei visualizzare il colore nella relativa riga.
Sono riuscito a farlo via codice,
ma quando su record corrente cambio il colore dello sfondo a seconda del
valore del campo access mi cambia tutta la maschera...........e vedo un solo
colore per volta...
Se lo faccio con la formattazione condizionale (al di la del tempo  :-))) )
non credo sia cosa logica inserire 16581375
di opzioni.......
Se non risolvo entro le 11.00 mi butto di sotto!

visualizza è il controllo dove vorrei visualizzare il colore
colacc è il controllo dove ci sono valori da 1 a 16milioni
ho provato a metterla su record corrente....
ma nulla access dice:
Errore 7976: Il numero di condizione di formato specificato è MAGGIORE DEL
NUMERO DI CONDIZIONI di formato disponibili!!!!!
With Forms("MPROVA").Controls("VISUALIZZA").FormatConditions(1)
    Dim QUALE As Integer
    QUALE = COLACC
    .BackColor = QUALE
    .FontBold = True
    .ForeColor = QUALE
End With
sto aprendo la finestra......
non sul pc quella vera.....
 e mi butto di sotto....

jobxxyy ha scritto:




Quello che vuoi non si può fare (i colori, non il salto dalla finestra!).
Dovresti crearti una griglia di textbox non associate e simulare via
codice la maschera continua, quindi con caricamento dei dati, salvataggi,
ecc...
E' un lavoro pazzesco, non credo ne valga la pena.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Namor
Ma dai non ci credo....! :-(((
Innanzitutto grazie per l'attenzione;
ne sei proprio sicuro?!
10 colori su condizione si possono mettere...
e colorare la casella a seconda del valore del campo no....
:-(((
il mio db gestisce stoffe e colori.....
significa ke ho buttato 2 mesi di lavoro....
compreso il data-entry....
Ti spiego.....
io ho 30 tipi di tappeti.
Ogni tappeto ha 50 varianti di colore.
Vorrei che selezionando con una casella combinata il tipo di tappeto
access mi facesse vedere le varianti colore su una maschera continua......
(su una maschera normale lo fa, ma se cerco un rosso devo scorrere 50
record...)
HELP!!!   mi licenziano!

 finestra!).
che vuoi dire che per la finestra non c'è problema???
Questa è istigazione al suicidio
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

č l'anima del povero jobxxyy che vi parla....
si č buttato 20 minuti fa come promesso.....
č saltato giu xke gli sviluppatori di access non hanno messo una semplice
funzionalitŕ.......
rendetegli giustizia......
dategli una soluzione almeno ora!!!!!!!!!!!!!!!!!!!!!!!!!!!


 >Quello che vuoi non si puň fare (i colori, non il salto dalla finestra!).


Fai una maschera a record singolo, lascia com'č la casella combinata di
selezione tappeto, e le varianti di colore le mostri in una decina (o piů)
di etichette non associate che chiamerai colore01, colore02, ecc... e che
andrai a colorare da codice ogni volta che viene selezionato un tipo di
tappeto.
Poi aggiungi dei pulsanti 'avanti' e 'indietro' per spostarti dai primi 10
colori ai successivi.
Se fai stare tutte e 50 le caselle sullo schermo non ti serve nemmeno
gestire i colori 'a pagine', perň i campioncini saranno piccoli.


 Questa è istigazione al suicidio
No problem. Lui non lo aveva detto, ma la finestra è a piano terra e ci ha
messo sotto tre materassi prima di buttarsi.


 gestire i colori 'a pagine', però i campioncini saranno piccoli.
Namor sei grande!
mi hai dato una mezza soluzione!
pero certo piu facile a dirsi che a farsi!
:-)
io ho i tappeti su una tabella;
i colori disponibili su un'altra tabella collegata ovviamente con un
indice....
come costruiresti la maschera tu?!
grazie grazie!


nomeEtichetta = che corrisponde alla
TipoDiTappeto
Colore
Ovvio che filtri il tipo di tappeto
-- 


jobxxyy ha scritto:


Se sei sicuro che non ci possono essere più di 50 colori per un tappeto,
io metterei tutti i possibili colori sullo schermo, quindi 50 piccole
etichette quadrate, e una molto più grande. Con un click su uno dei
campioncini piccoli si può vedere il colore corrispondente nel riquadro
più grande.
Sull'evento afterupdate della casella combinata apri un recordset sulla
tabella dei colori usando il codice del tappeto come criterio WHERE, e con
un ciclo lo scorri e colori tutte le etichette.
Per gestire gli eventi click delle 50 etichette usi withevents o fai un
po' di copia-incolla, tanto le sub avranno un'unica riga di codice:
  me.riquadro_grande.backcolor=me.campioncinoXX.backcolor


con un ciclo lo scorri e colori tutte le etichette.
diciamo che ho una maschera singola filtrata per tappeto quindi ad esempio
vengono fuori 45 record.....
nel campo "COLORE" c'è il valore del colore....
le etichette le ho chiamate 01,02,03,04,,,,,50.
Come si fa un ciclo loop che colora le etichette?!
Private Sub Form_Open(Cancel As Integer)
Dim col As Long
Dim TUTTIIRECORD As Long
TUTTIIRECORD = Me.RecordsetClone.RecordCount
DoCmd.GoToRecord acDataForm, , acFirst
epoi!!?!?!?!?!?!?
Grazie!
pago da bere!
giuro !

jobxxyy ha scritto:



Ti faccio un esempio, adattalo. Richiede un riferimento alla libreria
Microsoft DAO.
Va messo sull'after_update della combo, non sul Form_Open.
dim Rst as dao.recordset, Num as byte
num=1
'apri il recordset
set rst=currentdb.openrecordset("SELECT * FROM Colori WHERE " & _
    IDtappeto=" & me.combo_tappeto)
with rst
  .movefirst
  'lo scorri e colori le etichette
  while not .eof
    me.controls("Etichetta" & format(num,"00")).backcolor=!colore
    me.controls("Etichetta" & format(num,"00")).visible=true
    num=num+1
    .movenext
  wend
end with
rst.close: set rst=nothing
'nascondi le restanti etichette
while num<=50
  me.controls("Etichetta" & format(num,"00")).visible=false
  num=num+1
wend


 Namor
La mascherà sarà NON associata.


 wend
ke spettacolo!
se riesco a farlo girare ti pago una cena...

jobxxyy ha scritto:






In Form no se puede, almeno non cosě semplicemente (leggi il codice
postatoti da namor), ma se per 
te puň essere utile comunque, lo si puň tranquillamente fare su report...
su 
formattazione del corpo basta passare il .BackColor a una label d'appoggio.
-- 
Ciao
Pablitomf (Maurizio Facciuti)
Access : Ver.97 - 2K
----------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
----------------------------------
Non mi fido molto delle statistiche, perchč un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.


namor  SEI GRANDE...!
Con queste piccole modifiche funziona alla grande........
Private Sub TAVOLA_AfterUpdate()
Dim Rst As dao.Recordset, Num As Byte
Num = 1
Set Rst = CurrentDb.OpenRecordset("SELECT * FROM INCROCIO WHERE
IDARTICOLOSOTTO = " & Me.TAVOLA)
With Rst
  .MoveFirst
  'lo scorri e colori le etichette
  While Not .EOF
    Me.Controls("Etichetta" & Format(Num, "00")).BackColor = !COLACC
    Me.Controls("Etichetta" & Format(Num, "00")).Visible = True
    Num = Num + 1
    .MoveNext
  Wend
End With
Rst.Close: Set Rst = Nothing
'nascondi le restanti etichette
While Num <= 3
  Me.Controls("Etichetta" & Format(Num, "00")).Visible = False
  Num = Num + 1
Wend
End Sub
pero ora ho un serio problema:
1) Il colacc(colore) è un campo calcolato in una query...non è un dato di un
campo di una tabella.......
    quindi se lo cerco in una query non funge....:
Set Rst = CurrentDb.OpenRecordset("SELECT * FROM NOMEQUERY WHERE
IDARTICOLOSOTTO = " & Me.TAVOLA)

In Form no se puede, almeno non così semplicemente (leggi namor), ma se per 
te può essere utile comunque, lo si può tranquillamente fare su report... su 
formattazione del corpo basta passare il .BackColor a una label d'appoggio.
-- 
Ciao
----------------------------------------------------------
:: Pablitomf (Maurizio Facciuti)
:: Access : Ver.97 - 2K
----------------------------------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
http://www.napolisoccer.it/
----------------------------------------------------------
La mia tesi :
"Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno 


 While Num <= 3  ???
Hai messo solo 3 etichette sulla maschera?
Puoi aprire anche una query con openrecordset. Ovviamente la query dovrà
contenere il campo IDARTICOLOSOTTO sennò non ci puoi applicare il criterio
WHERE.
Namor

 salvate una persona (cioè io) dall'esaurimento nervoso Vi prego..!

Non so se ti sei già buttato di sotto oppure no, visto che ormai sono
passate da un pezzo le 11:00 del 16/9/2005.
Né ho letto tutti i messaggi del thread quindi non so se l'indicazione che
sto per darti l'hai già ricevuta da un'altro frequentatore del NG che così
ti ha salvato la vita. :)
Comunque se vai sul Sito Comune (link qui sotto), nella Sezione Forms leggi
la FAQ di Silvio Savoldi intitolata "3.26 Formattazione Condizionale nelle
maschere continue". Nel database d'esempio allegato alla FAQ è mostrato come
sia possibile in una maschera continua modificare il colore di fondo di una
casella di testo in base al valore di un campo ed usando i 16581375 di
colori possibili.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 ha scritto nel
messaggio news:1iYWe.6129$9l.1...@twister1.libero.it...

Mi ero dimenticato però di precisare che puoi scegliere tra i 16,5 milioni
di colori possibili ma devi limitare a priori il numero dei colori da usare
in quanto altrimenti con la soluzione di Silvio dovresti inseire nella
Maschera 16,5 miomioni di caselle di testo non visibili, la qual cosa è
naturalmente impossibile. :)
