Forms

3.80 Usare colori alternati per colorare le righe di una maschera con visualizzazione a Maschere continue
  Silvio Savoldi

Allegati a questa FAQ ci sono due databse di esempio: uno per la versione Access 97 ed uno per le versioni successive.
Entrambi fanno riferimento alla funzione GetRecNum() di Maurizio Borrelli per determinare se un record sia pari o sia dispari e di conseguenza modificare il colore della relativa riga in una maschera continua, anzi, per esattezza, per impostare il colore di fondo dei controlli contenuti in ogni riga.

Alternare colori nelle Forms tabellari di ACCESS 2000 e successivi
Colori Alternati 2000.mdb sfrutta l’oggetto nativo FormatCondition: è sufficiente assegnare l’espressione
GetRecNum(Forms!) mod 2 <> 0
Oppure, se i controlli da colorare appartengono a una sottomaschera
GetRecNum(Forms!!.Form) mod 2 <> 0
alle caselle di testo e/o Combobox che compongono il corpo della Riga della maschera tabellare.
Naturalmente questo metodo funziona sia con visualizzazioni Foglio Dati che Maschere continue.
In un modulo di codice globale dovrà esser presente la funzione GetRecNum(), che assegna il corretto numero di Riga a ogni Record della Form passata come parametro.

Alternare colori nelle Forms Continue di ACCESS 97
In Access 97 non esiste l’oggetto FormatCondition, di conseguenza la formattazione condizionata nelle Forms è ottenibile solo col noto stratagemma della textbox nascosta e relativo formato personalizzato (a meno di affidarsi all’API di win: esempi su http://www.lebans.com) .
E’ un metodo applicabile esclusivamente alle viste Maschere continue.
Nell’esempio fornito la textbox sottostante i controlli (trasparenti) ha le seguenti caratteristiche:
Formato:                                ;"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ     (o altro carattere “ampio”)
Colore Primo Piano:               16764057      (ovvero il colore azzurro assegnato alle righe Pari)
Origine Controllo:                  =ColoraRiga([Forms]![Colori_alternati])
Tipo Carattere:                      Terminal

La funzione globale ColoraRiga() restituisce un boolean che accende/spegne la suddetta formattazione.
L'.mdb può essere convertito alle versioni successive (per quanto non consigliato), tuttavia il Font Terminal potrebbe dare problemi di visualizzazione con Access ‘2K/XP: per ulteriori dettagli e una scappatoia si consulti:
'http://www.mvps.org/access/forms/frm0055.htm

Download:
 
  ColoriAlternati.zip (52Kb) MSAccess97/2000 database


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.