Forms

3.77 Sincronizzare in una maschera due o più caselle combinate ASSOCIATE tra loro in gerarchia
  Roberto
La soluzione proposta nella Sezione Forms di questo sito nella FAQ intitolata "Sincronizzare in una maschera due o più caselle combinate tra loro in gerarchia" è valida solamente nel caso in cui le casella combinate siano NON ASSOCIATE, quindi fatte per impostare dei criteri di ricerca.
La soluzione di cui sopra dà invece problemi di viasualizzazione nel caso in cui una o più caselle combinate (dalla seconda in avanti) siano associate, ovvero si opera in una maschera che cura l'inserimento e/o la modifica dei dati di una tabella.
Di fatto succede che la casella combinata associata riesca a mostrare la descrizione in chiaro solo a condizione che risulti validamente sincronizzata con l'ultima scelta fatta nella casella combinata di livello superiore, ma non mostri alcunché se per il record corrente la casella combinata associata non risulta in sintonia con l'ultima scelta fatta nella casella combinata di livello superiore: il problema si evidenzia in una maschera con visualizzazione a Maschera singola quando si cambia record, ma è ancora di più evidente in una maschera con visualizzazione a Maschera continue, dove la stragrande maggioranza dei record visualizzati rischiano di essere affetti da questa anomalia di visualizzazione, fermo restando che i valori memorizzati nei campi associati risultino corretti.
Nel database di esempio allegato a questa FAQ il problema di cui sopra viene risolto cambiando dinamicamente nel tempo l'origine riga della casella combinata associata: a fronte dell'evento "Dopo aggiornamento" della casella combinata di livello superiore viene impostata come origine riga una query parametrica il cui parametro di selezione è la casella combinata di livello superiore e quindi viene fatto il requery della casella combinata associata; invece a fronte degli eventi "Su corrente" della maschera e "Dopo aggiornamento" della casella combinata associata l'origine riga viene impostata con una query NON parametrica e quindi viene effettuato il requery.
Così facendo, in una maschera continua il "blackout" di descrizione della casella combinata associata avverrà solo nel breve lasso di tempo che intercorre tra la selezione fatta nella casella combinata di livello superiore e la selezione fatta nella casella combinata associata.

Download:
 
  SincronizzaComboAssociate.zip (23Kb) MSAccess97 database


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