Colorare sfondo di una Form in base al contenuto di una textbox

di il
13 risposte

Colorare sfondo di una Form in base al contenuto di una textbox

Buongiorno a tutti, mi sono appena iscritto a questo Forum perchè ho bisogno del Vostro aiuto.

Prefazione : Sto creando un database per l'immissione delle cartoline delle ore lavorate. Questo database conterra delle tabelle, delle maschere e delle sottomaschere. In una di queste maschere, viene selezionato l'anno, il mese e il dipendente. Una volta selezionate queste tre text box, viene visualizzata la sottomaschera con i relativi dati filtrati. Tra questi dati c'è una casella di controllo, impostata a vero o falso, che indica se il giorno è festivo o meno.

Ed eccoci al problema : Come faccio a colorare lo sfondo del corpo della sottomaschera con un colore diverso a seconda che la casella di controllo sia vero o falso ??? Sicuramente ci sarà da intervenire sul codice vba.

Grazie per l'aiuto e scusate se sono stato troppo prolisso.

P.S.: Sto usando Access 2019 su Windows 10 a 64 bit.

13 Risposte

  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    La sottomaschera è in "foglio dati"? Se sì, la soluzione più adatta è la "formattazione condizionale" dei singoli campi. Se la applichi allo SFONDO di tutti i campi, vedrai colorarsi tutta la riga corrispondente.
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Ecco, lo spevo...... mi sono dimenticato di un pezzo.....

    No, la sottomaschera è Impostata come maschere continue. Preferirei tenere questa impostazione, ma se è troppo complicato, possso benissimo cambiare impostazione.
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Aspetta però. Io propongo comunque una soluzione di "compromesso", ossia tu hai detto esplicitamente "diverso colore CORPO"...ecco proprio il corpo non credo si possa fare con la formattazione condizionale. Se ti accontenti della formattazione condizionale su tutti i campi, direi che il colpo d'occhio sortirebbe lo stesso effetto: che ne dici?
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Sì. Vero.
    Anche perchè se coloro tutto il corpo dell sottomaschera poi magari potrebbe diventare un "pugno nell'occhio", quindi anche solo i campi andrebbero bene.
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Bene, leggi la guida in linea sulla "formattazione condizionale".
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Ok. Grazie.
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Trova sulla guida in linea Form.Section, puoi gestire il colore dell'intestazione o del corpo o del piè di pagina
    Section(0).BackColor Corpo
    Section(1).BackColor Intestazione
    Section(2).BackColor piè di pagina
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    marco61 ha scritto:


    Trova sulla guida in linea Form.Section, puoi gestire il colore dell'intestazione o del corpo o del piè di pagina
    Section(0).BackColor Corpo
    Section(1).BackColor Intestazione
    Section(2).BackColor piè di pagina
    Marco... questa risposta non ha nulla che possa rispondere alla domanda iniziale... deve condizionare il corpo di una SubForm, evidente che sia in maschere continue, su condizione...
    Sei sicuro di aver letto bene...?
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Zanpa57 ha scritto:


    Sì. Vero.
    Anche perchè se coloro tutto il corpo dell sottomaschera poi magari potrebbe diventare un "pugno nell'occhio", quindi anche solo i campi andrebbero bene.
    Salve
    ci sarebbero 2 altre possibilità su maschera continua
    opzione 1:
    inserire un controllo non associato (in secondo piano e su tutta la riga del record) ed eseguire la formattazione condizionale su questa text box .
    opzione 2:
    eseguire la formattazione condizionale su ogni controllo,
    avendo cura di selezionare tutti i controlli della riga, quindi dal menu > Disponi scegli >Tabulare
    inoltre sempre dal menù > Disponi scegli > Spaziatura Interna Controllo quindi >Nessuna
    Questa 2° ipotesi l'ho scoperta da poco ed a mio parere è molto bella.
    Saluti
    Gianni
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    La prima secondo me potrebbe essere pericolosa... il controllo in sfondo non può essere disabilitato quindi può prendere il focus... e se prende il focus passa in primo piano....

    La 2 funziona bene addirittura si possono selezionare tutti i controlli ed applicare la FC a tutti in solo 1 passaggio.
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Scusate ho letto male, la mia soluzione è per maschera singola
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    @Alex ha scritto:


    La prima secondo me potrebbe essere pericolosa... il controllo in sfondo non può essere disabilitato quindi può prendere il focus... e se prende il focus passa in primo piano....

    La 2 funziona bene addirittura si possono selezionare tutti i controlli ed applicare la FC a tutti in solo 1 passaggio.
    La prima l'ho utilizzata da sempre e conoscendo il problema, su attivato si sposta il focus su un controllo a dimensioni 0 0, certo bisogna giocare sui colori,specialmente con le maschere a righe alternate ma questa era.
    La seconda che ho scoperto da poco (mi riferisco a quella opzione distanza nessuna) la trovo esteticamente bella, mentre prima pur avendola realizzata l'allineamento dei controlli era un grattacapo non da poco.
    Saluti
    Gianni
  • Re: Colorare sfondo di una Form in base al contenuto di una textbox

    Gianni55 ha scritto:


    Zanpa57 ha scritto:


    Sì. Vero.
    Anche perchè se coloro tutto il corpo dell sottomaschera poi magari potrebbe diventare un "pugno nell'occhio", quindi anche solo i campi andrebbero bene.
    Salve
    ci sarebbero 2 altre possibilità su maschera continua
    opzione 1:
    inserire un controllo non associato (in secondo piano e su tutta la riga del record) ed eseguire la formattazione condizionale su questa text box .
    opzione 2:
    eseguire la formattazione condizionale su ogni controllo,
    avendo cura di selezionare tutti i controlli della riga, quindi dal menu > Disponi scegli >Tabulare
    inoltre sempre dal menù > Disponi scegli > Spaziatura Interna Controllo quindi >Nessuna
    Questa 2° ipotesi l'ho scoperta da poco ed a mio parere è molto bella.
    Saluti
    Gianni
    Grazie a tutti per le soluzioni proposte. Quella che ho scelto, soprattutto per il fatto che a mio giudizio come colore è quella meno invasiva, è quella di formattare condizionalmente ogni controllo presente nella riga dell maschera, colorando solo i caratteri.

    Ancora Grazie a tutti
    Paolo
Devi accedere o registrarti per scrivere nel forum
13 risposte