Colorare una textbox di un record di una maschera continua

di il
11 risposte

Colorare una textbox di un record di una maschera continua

Salve a tutti.

Il problema è facilmente spiegabile ma nessuna delle soluzioni da me tentate mi ha dato una concretezza.

Si tratta di colorare il colorback di una casella di testo in una maschera continua ma solo una, non tutte quelle del campo.

 Per ora mi affido alla formattazione condizionale e funziona abbastanza bene a parte un certo affaticamento quando si tratta di dimensioni di file più corpose.

Si dà il fatto però che per far riconoscere alla formattazione condizionale la differenza rispetto alle altre celle, devo sostituire il valore della cella con un altro convenzionale.

Domanda, esiste un comando più diretto per cambiare il colore da VBA anziché ricorrere al sotterfugio che uso per farlo riconoscere dalla formattazione condizionale?

Ciao

11 Risposte

  • Re: Colorare una textbox di un record di una maschera continua

    Fai esempio chiaro non si capisce quanto dici...

  • Re: Colorare una textbox di un record di una maschera continua

    21/11/2025 - antocuomo ha scritto:

    Si tratta di colorare il colorback di una casella di testo in una maschera continua ma solo una, non tutte quelle del campo

    Come si chiama la maschera?
    Come si chiama la casella di testo da colorare (condizionalmente)?

    21/11/2025 - antocuomo ha scritto:

    non tutte quelle del campo.

    Forse volevi dire "non tutte quelle del record"?

    21/11/2025 - antocuomo ha scritto:

    Per ora mi affido alla formattazione condizionale e funziona abbastanza bene a parte un certo affaticamento quando si tratta di dimensioni di file più corpose.

    Non credo dipenda dalla formattazione condizionale.

    21/11/2025 - antocuomo ha scritto:

    Si dà il fatto però che per far riconoscere alla formattazione condizionale la differenza rispetto alle altre celle, devo sostituire il valore della cella con un altro convenzionale.

    Qui devi spiegarti meglio con un esempio.

    21/11/2025 - antocuomo ha scritto:

    Domanda, esiste un comando più diretto per cambiare il colore da VBA anziché ricorrere al sotterfugio che uso per farlo riconoscere dalla formattazione condizionale?

    Dipende dal punto precedente. Se si tratta di una espressione relativamente semplice, non serve VBA. Se occorre qualcosa di veramente più complesso...penso che la formattazione condizionale dovrà appoggiarsi a una Public Function che governi il tutto, quindi servirà VBA.

    Riepilogando: spiega tutto usando nomi propri di maschera, controlli (campi), condizioni da giustificare la formattazione condizionale, ossia cosa vuoi ottenere.

  • Re: Colorare una textbox di un record di una maschera continua

    Well,

    ho una maschera continua e una query che mi permette di visualizzare le tante cartelle di una tombola .

    Su ogni record, distribuiti su tre file, ci sono tutti i numeri appartenenti alla cartella.

    Su una seconda maschera master avviene l'estrazione dei numeri sul tombolone.

    Ad ogni numero estratto, da codice VBA, aggiorno la tabella delle cartelle (che non sono visualizzate).

    Tutte le volte che shifto sulla maschera delle cartelle devo visualizzare le cartelle in gioco dove tutti i numeri estratti devono apparire di colore alternativo rispetto agli altri in modo che siano evidenziati.

    Di seguito spiego quello che faccio io ora:

    Per ogni numero che vado ad estrarre sul tombolone (RND), lo cerco sulla tabella delle cartelle e lo riscrivo col segno negativo davanti.

    In questo modo quando passo a monitorare le cartelle sulla loro pagina, su evento "attivate" la regola impostata per la formattazione condizionale, vedendo il numero negativo ne colora il fondo di blù.

    E' spettacolare ma è brutto vedere i numeri negativi.  Tramite VBA non ci riesco. 

  • Re: Colorare una textbox di un record di una maschera continua

    Un flag estratto si/no era più complicato?

    Magari invece di controllare se il nr è negativo controlli se il flag è true.

    Oppure a display metti il valore assoluto come campo calcolato e se il campo mandante è negativo colori la casella calcolata.

  • Re: Colorare una textbox di un record di una maschera continua

    Grazie per la risposta sihsandrea.

    Se ho capito bene ti stai riferendo a:

    anziché trasformare in negativo il numero estratto, metto una flag nel text.tag che poi verrà letta alla F.C.?

    Correggimi se sbaglio, il tab è una proprietà che appartiene al controllo e non alla variabile del database. 

    In caso alternativo dovrei raddoppiare il database per aggiungere ad ogni casella di testo un'altra casella flag: .... Un pò dispendioso.

  • Re: Colorare una textbox di un record di una maschera continua

    21/11/2025 - antocuomo ha scritto:

    Ad ogni numero estratto, da codice VBA, aggiorno la tabella delle cartelle (che non sono visualizzate).

    Tutte le volte che shifto sulla maschera delle cartelle devo visualizzare le cartelle in gioco dove tutti i numeri estratti devono apparire di colore alternativo rispetto agli altri in modo che siano evidenziati.

    Di seguito spiego quello che faccio io ora:

    Per ogni numero che vado ad estrarre sul tombolone (RND), lo cerco sulla tabella delle cartelle e lo riscrivo col segno negativo davanti.

    In questo modo quando passo a monitorare le cartelle sulla loro pagina, su evento "attivate" la regola impostata per la formattazione condizionale, vedendo il numero negativo ne colora il fondo di blù.

    Non sappiamo come gestisci concretamente tutto questo in VBA. Tuttavia, invece di impostare il numero negativo, potresti impostare la proprità BackColor del controllo, cioè:
    Me!NomeControllo.BackColor = vbBlue
    oppure
    Forms!NomeMaschera!NomeControllo.BackColor = vbBlue

  • Re: Colorare una textbox di un record di una maschera continua

    Intendo dire che puoi colorare lo sfondo di bianco se l'utente collegato è Pippo, di giallo se è Pierino...

    In maschera invece di mettere il campo nrcasella metti un campo calcolato =Absolute(nrcasella) e il controllo per colorare lo fai nel campo calcolato se nrcasella<0 campo calcolato sfondo rosso...

    Il calcolo lo fa la macchina e tu continui a fare per come hai fatto.

    Oppure, invece di modificare la casella da 5 a -5 metti il flag sul 5. O attingi ai numeri estratti (che suppongo siano in una tabella "estratti" così se casella.value è presente in quella tabella colori la casella... Insomma, ci sono n-mila modi di operare.

  • Re: Colorare una textbox di un record di una maschera continua

    Vorrei ricordare a tutti che, trattandosi di Maschere Continue, si DEVE usare la Formattazione condizionale e non il VBA, ed a questo punto non si possono usare le proprietà del Controllo come la TAG in quanto sarebbe uguale per tutti e pari a quella dell'ultimo controllo del Recordset valorizzato e visualizzato.

    Personalmente avrei usato un campo calcolato in una Query lasciando al controllo il valore pulito, e la F.C. l'avrei associata al campo calcolato associato ad un controllo NON VISIBILE nella maschera.

  • Re: Colorare una textbox di un record di una maschera continua

    Ah, queste maschere continue...

    esattamente, come gestisci la tombola?

    ci sono:

    1 tabellone con 90 numeri

    n cartelle con una griglia 9 x 3 dove la prima colonna ha numeri da 1 a 9, la seconda da 10 a 19 e così fino alla nona colonna da 80 a 90

    dovresti creare un database con n cartelle (ogtni cartella un id) e 18 campi 3 che identificano il rigo e 15 i numeri della cartella.

    quando viene estratto un numero lo inserisci in una tabella (nrtorneo, nrestrazione, numeroestratto) 

    in base all'estrazione puoi verificare la cartella e decidere se mettere un oggetto a copertura della cella, colorare la cella o lasciare che l'utente si diverta a fare dopio click sulla calla per mettere la copertura (l'immagine di una bandierina o quello che vuoi)  o colorarer la cella (ovviamente se il nr è presente nella tabella degli estratti.

    con la maschera continua come fai? lasci campi null?

    questa e' come si presenta una tessera della tombola

  • Re: Colorare una textbox di un record di una maschera continua

    Questo è il tabellone del banco...

  • Re: Colorare una textbox di un record di una maschera continua

    OK Alex, lezione appresa. 

    A Sihsandrea dico:

    No, non sono al livello di una tombolata in rete. I partecipanti mettono il bottone sulle loro cartelle di carta a coprire il numero estratto.

    Io stampo le cartelle generate che genero su pc, faccio una assegnazione a video giocatore-cartella e le distribuisco.

    Procedo con l'estrazione random su pc e ad alta voce comunico il numero ai giocatori.

    Quando si produce una vincita sulle cartelle in gioco, posso shiftare su "situazione campo" per visualizzare tutte le cartelle vendute dove i numeri estratti e le vincite devono apparire di colore differente. Tutto qua.

    grazie a tutti

Devi accedere o registrarti per scrivere nel forum
11 risposte