Newsgroup: it.comp.appl.access
Titolo: Help! Centri di costo strutturato su più livelli

Ciao a tutti.
Scusate della mia domanda ma sono alle prime armi con access ed ho un
problema con le maschere.
Dovrei creare una maschera di inserimento movimenti prima nota che mi
richiami un "codice centro di costo" suddiviso su 3 livelli:
- il 1° livello identifica il raggruppamento centro di costo (ad esempio:
settore stabilimento "X")
- il 2° livello identifica un sottoraggruppamento (ad esempio: spese del
personale relative allo stabilimento "X")
- il 3° livello identifica in dettaglio la spesa (ad esempio: stipendi
relativi al personale dello stabilimento "X")
A tal scopo ho creato tre tabelle:
- la prima (che ho chiamato "tbl_CDC_liv_1") che contiene tutti i
raggruppamenti dei centri di costo ed è così strutturata:
               - cdc1      (chiave primaria)
               - descrizione
               - tipo
- la seconda (che ho chiamato "tbl_CDC_liv_2") che contiene i
sottoraggruppamenti ed è così strutturata:
               - cdc1               | (chiave primaria)
               - cdc2               | (chiave primaria)
               - descrizione
 - la terza (che ho chiamato "tbl_CDC_liv_3") contiene i costi in dettaglio
ed è così strutturata:
               - cdc1               | (chiave primaria)
               - cdc2               | (chiave primaria)
               - cdc3               | (chiave primaria)
               - descrizione
Le tabelle sono correlate in questo modo :
- "tbl_CDC_liv_1" relazione uno a molti con "tbl_CDC_liv_2" per il campo
"cdc1"
- "tbl_CDC_liv_2" relazione uno a molti con "tbl_CDC_liv_3" per i campi
"cdc1" e "cdc2"
Ora, ritornando alla mia maschera di inserimento movimenti che ho sopra
menzionato, dovrei dare all'utente la possibilità di selezionare il 1°
livello di centro di costo (con una casella combinata che abbia come origine
controllo la tabella "tbl_CDC_liv_1").
Sulla base della prima selezione l'utente dovrebbe poi scegliere il 2°
livello del centro di costo (bisognerebbe mettere una seconda casella
combinata che abbia come origine controllo la tabella "tbl_CDC_liv_2"
filtrata per il "cdc1" scelto dall'utente al 1° livello);
la stessa cosa si dovrebbe prevedere per il 3° livello: ci vorrebbe una
terza casella combinata che dia la possibilità all'utente di scegliere tra i
record della "tbl_CDC_liv_3" filtrata per i "cdc1" e "cdc2" precedentemente
selezionati.
Io, nonostante diversi tentativi, non sono riuscita a fare in modo che
selezionando il
primo livello di piano dei costi, il valore scelto possa essere utilizzato
come parametro per
il filtro per del secondo livello ..e così via.
Chi di voi saprebbe darmi un aiuto ed indicarmi il modo più semplice per
raggiungere il mio obiettivo? E' corretta la procedura che ho adottato di
creare 3
distinte tabelle di centro di costo (una per ciascun livello)?
Ringrazio in anticipo coloro che vorranno darmi dei suggerimenti in merito.
P.S. mi scuso se non sono riuscita ad essere stata abbastanza chiara
nell'esposizione del mio quesito.

nell'esposizione del mio quesito.
Sei stata chiarissima: la tua è un'esigenza classica.
Però al posto tuo inizierei a normalizzare in maniera differente le tabelle: la tua scelta
d'utilizzo di chiavi alfanumeriche multicampo è correttissima dal punto di vista logico,
svantaggiosa all'atto pratico (soprattutto dal punto di vista prestazionale).
Prendi in considerazione l'utilizzo di Contatori e ID Long come chiavi di Link.
Ad ogni modo se sei sicura di voler utilizzare una strategia basata su combo di filtro, scarica da
www.sitocomune.com
  il Sample sull'utilizzo di Forms: tra i tanti ottimi contributi, si espone anche
il tuo problemino di sincronizzazione combo.
Tuttavia anche in questo caso al posto tuo prenderei in considerazione un'altra strada: l'utilizzo
di sottomaschere unite gerarchicamente attraverso i campi Master/Secondari.
Dai un'occhiata al Sample Northwind.mdb, troverai un buon esempio d'utilizzo di questa tecnica.
Ciao, warp