Newsgroup: it.comp.appl.access
Titolo: OT Traduzione FAQ 4.36

******************************
4.36 Dependent combo/list boxes
Problem
In a form you have 2 or more combo or list boxes and want
that the content of the second combo depends on the first one
i.e. only shows the records of the category that has been
chosen in the first one.
Solution
Note: Combo boxes and list boxes can be treated in the same
manner. I also don't dig deeper into table structures. Usually
there should be a 1:n relationship between the involved tables.
Let's say you have a form "frm_Products" with 2 combos.
"cbo_Categories" shows product categories, "cbo_Products"
shows products. Now you want to choose a category in the first
(superior) combo and the second (dependent) combo shall only
show products that belong to this category.
The crucial thing is the row source of cbo_Products.
This can be a saved query that has a criteria at the CategoryId
column with a reference to the superior combo:
Forms!frm_Products!cbo_Categories
But the source can also be an SQL string which you typed into
the RowSource property of the dependent combo or that is
set in the event code AfterUpdate of the superior combo:
Me!cbo_Products.RowSource = "SELECT ProductName FROM
tbl_Products WHERE CategoryId= " & Me!cbo_Categories
If you don't set the row source of the dependent combo dynamically
(like shown in the last example) but e.g. it's a saved query, then you
additionally have to update the display. To achieve this you can
use the Requery method in the event code AfterUpdate of the
superior combo:
Me!cbo_Products.Requery
********************************
-- 
cu
Karl
*********
Access FAQ: 
www.donkarl.com/it
+info sulla prima Conferenza Italiana per Sviluppatori di Access (CISA1) 

 ********************************
4.36 Dipendenza delle caselle combinate/riepilogo
Problema
In una maschera hai 2 o più caselle combinate o di riepilogo e vuoi
che il contenuto della seconda casella (combinata/riepilogo) dipenda
dalla prima, cioè mostri solo i record della categoria che è stata scelta
nella prima.
Soluzione
Nota: Le caselle combinate e riepilogo possono essere trattate trattate
allo stesso modo. Inoltre non scavo a fondo nella struttura della tabella.
Generalmente dovrebbe sussistere una relazione 1->n tra le tabelle
coinvolte.
Supponiamo di avere una maschera “frm_Prodotti” con due caselle combinate.
La “cbo_Categorie” che mostra le categorie del prodotto, e la
“cbo_Prodotti”, che mostra i prodotti. 
Ora, scegliendo una categoria nella prima (superiore) casella combinata,
vuoi che la seconda casella (dipendente) mostri solo i prodotti che
appartengono a questa categoria.
Il punto cruciale è l’origine riga della “cbo_Prodotti”.
Questa può essere una query salvata che ha un criterio 
alla colonna CategoriaID con un riferimento 
alla casella combinata superiore:
Forms!frm_Products!cbo_Categorie
Ma l’origine può anche essere una stringa SQL che hai digitato
nella proprietà “Origine riga” della dipendente casella (combinata) 
o che è impostata nel codice dell’evento “Dopo aggiornamento” della
casella (combinata) superiore:
Me!cbo_Prodotti.RowSource = "SELECT NomeProdotto FROM
tbl_Prodotti WHERE CategoriaId= " & Me!cbo_Categorie
Se non hai impostato dinamicamente l’origine riga della casella
(combinata) dipendente (come mostrato nell’ultimo esempio) ma, p.e. è una
query salvata, allora in aggiunta devi aggiornare la visualizzazione. Per
ottenere ciò puoi utilizzare il metodo Requery nel codice dell’evento
“Dopo aggiornamento” della casella (combinata) superiore.
Me!cbo_Products.Requery
************
--
rgrds
SC
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Forms!frm_Products!cbo_Categorie
i.e
Forms!frm_Prodotti!cbo_Categorie
--
a.cara

Me!cbo_Products.Requery
invece di:
Me!cbo_Prodotti.Requery


 ********
come correttore di bozze devo fare ancora parecchia strada ;<)
--
a.cara