Lo spostamento tra controlli in Microsoft Access

Lo spostamento tra controlli in Microsoft Access può essere gestito come in qualunque applicativo usando il tasto TAB per passare al controllo successivo, o la combinazione MAIUSC+TAB per ritornare al controllo precedente. Spesso si può anche utilizzare il tasto Invio, a meno che abbiamo modificato la proprietà Funzione tasto invio, impostando Nuova riga del campo per uno specifico controllo. Solitamente questa proprietà viene impostata quando abbiamo una casella di testo in cui l’utente può scrivere più righe (associata quindi a un campo Memo, o a un campo testo con una dimensione ampia a sufficienza).

In particolare, Microsoft Access mette a disposizione tre proprietà importanti per i controlli: Ordine spostamento, Seleziona con tabulazione e Tabulazione automatica.

Ordine spostamento specifica quale sarà il primo controllo attivo quando l’utente apre la maschera (si parte da 0) e di conseguenza i successivi quando l’utente preme il tasto TAB. Se voglio che un dato controllo sia il primo attivo, basta che imposti 0 come valore per Ordine spostamento.

proprieta_tabulazione

E se esisteva già un altro controllo con 0? Access provvede a rinumerarli ove necessario. Non esisteranno mai due controlli con lo stesso numero e il numero massimo di spostamento equivale al numero di controlli -1 (perché si parte da 0): se ho 4 controlli, i valori andranno da 0 a 3. La soluzione più semplice per controllare l’ordine di tabulazione è fare clic con il tasto destro su Corpo e scegliere Ordine di tabulazione. Da qui potremo ordinare i controlli come vogliamo. E’ sufficiente cliccare sul quadratino grigio a sinistra del nome del controllo e poi trascinarlo nella posizione desiderata. Access provvede a cambiare per noi la proprietà Ordine spostamento. Ah, naturalmente questo metodo richiede che abbiate assegnato un nome a tutti i controlli che avete progettato sulla maschera :-), altrimenti se avete Testo0, Testo2, Testo4, CasellaCombinata3 e così via… è un bel pasticcio!

ordine_tabulazione

Nota che l’ordine di tabulazione è relativo alla sezione in cui sono presenti i controlli (intestazione, corpo e piè pagina).

Seleziona con tabulazione fa sì che quando l’utente preme TAB venga selezionato il successivo controllo. Se però imposto No come valore, il controllo non sarà mai selezionato via tastiera, ma solo cliccandoci sopra con il mouse. Se per es. ho una compilazione automatica di controlli (scelgo il comune e automaticamente viene impostata la sigla della provincia, potrei impostare la proprietà Seleziona con tabulazione del controllo provincia = No, così l’utente non si trova posizionato su tale controllo e si sveltisce l’inserimento). Altro caso in cui sarebbe utile non impostare Seleziona con tabulazione è per un pulsante che consentisse di eliminare il record. In tal modo l’utente non rischierebbe di eliminare involontariamente un record solo perché ha usato la tastiera troppo… rapidamente!

Tabulazione automatica sembra che sia ininfluente, a prima vista. In realtà risulta efficace solo se ho impostato una maschera di input. Se carico un’anagrafica di residenti in Italia, il CAP sarà sempre di 5 cifre. Posso allora impostore la proprietà Maschera di input uguale a 00000.

input_mask_

A questo punto, quando l’utente digita le 5 cifre del CAP, dopo la quinta, sarà automaticamente portato al controllo successivo.

Progettare una maschera richiede tempo, ma la qualità del risultato finale indubbiamente si vede.