Newsgroup: it.comp.appl.access
Titolo: Filtro Casella combinata in base a valore di altra casella combinata e viceversa

(Access 2000, Windows ME)
Salve a tutti.
Ho una tabella Operazioni con due chiavi esterne una IdMisura (tab Misure)
ed una IdTipologia (tab Tipologie). Nel db ho poi altre tre tabelle:
Sottocategorie, Categorie e Settori,  correlate ognuna con quella seguente
con una relazione uno a molti. Infine ho una tabella MisureSottocategorie,
con relazione molti  a molti tra le tab. sottocategorie e misure. la tab.
Tipologie è correlata (1 a molti) con la tabella Sottocategorie.
Ho una maschera che ha per origine dati la tabella Operazioni, nella quale
ho inserito poi tre controlli non associati: settore, categoria e
sottocategoria con origine dati un istruzione SQL che mi permette di
estrarre i dati dalle rispettive tabelle.
Quel che vorrei fare è questo:
1) Se si sceglie prima la misura dell'operazione, vorrei che si potesse
scegliere una sottocategoria (tra quelle permesse dalla tabella
MisureSottocategorie) e poi la tipologia possibile tra quelle associate alla
sottocategoria scelta. (Quindi vorrei filtrare la cbo sottocategoria in base
al valore della cbo Misure)
2) Se si sceglie prima la tipologia, vorrei che automaticamente venissero
aggiornati i controlli Sottocategoria,Categoria e settore cui appartiene la
tipologia scelta
e vorrei inol,tre filtrare la cbo misura in base al valore di
Sottocategoria.
é possibile filtrare le cbo solo se nelle cbo di riferimento è presente un
valore?
Ho provato con
iif(IsNull(forms!Operazioni.idMisura);Like"*";Forms!Operazioni.IdMisura) ma
non ha funzionato.
Vorrei inoltre chiedere questo:
La tabella Operazioni contiene già dei record ma il campo Tipologia non
contiene ancora dei dati perche aggiunto di recente. é possibile associare
alla maschera Operazioni una stringa SQL che comprenda anche le tabelle
Settori, categorie, sottocategorie e fare in modo che questi vengono
compilati in automatico??
Spero di essere stata chiara.
Un saluto a tutti e un grazie anticipato
Nina

 Nina
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ---------------------------------------------
Grazie Roberto, sei sempre molto gentile.
Mi serve a visualizzare in automatico dopo che si sceglie una tipologia i
corrsipondenti sottocategoria, categoria e settore in controlli associati.
(Vorrei non usare i controlli non associati)
Spero di essere più chiara. Vorrei fare qualcosa di analogo a quello che si
fa quando, indicando in una maschera l'IdCliente, vengono compilati
automaticamente i campi Indirizzo, Cap, Città P.IVA ecc. se l'origine dati
della maschera fattura è una stringa sql che seleziona gli opportuni campi
dalla tabella fattura e dalla tabella Clienti.
Cioè, indicando l'idTipologia vorrei far pescare tramite query il valore
corrispondente di SottoCategoria, Categoria e Settore e visualizzare le
descrizioni nei relativi controlli presenti nella maschera.
Tuttavia, mentre nel caso della fattura sto inserendo dei nuovi record, in
questo caso i record sono già presenti quindi se imposto come origine dati
della maschera operazioni la query con le tab. Operazioni, Tipologie,
categorie, settori non visualizzo più i record inseriti perchè il campo
idTipologia della tab Operazioni per ora è vuto. Se cambio il tipo di Join
(da equijoin a leftJoin) la query non risulta aggiornabile.
Dove sbaglio??
Grazie ancora
Nina

 Nina
Se la tabella Tipologie ha una struttura simile a questa:
IdTipologia            Contatore e chiave primaria
DesTipologia         Testo
IdSottocategoria    Numerico
Se la tabella Sottocategorie ha una struttura simile a questa:
IdSottocategoria        Contatore e chiave primaria
DesSottocategoria     Testo
IdCategoria                Numerico
Se le tabelle Tipologie e Sottocategorie sono in relazione uno-a-molti in
base ai campi IdSottocategoria.
Se la tabella Categorie ha una struttura simile a questa:
IdCategoria        Contatore e chiave primaria
DesCategoria     Testo
IdSettore             Numerico
Se le tabelle Sottocategorie e Categorie sono in relazione uno-a-molti in
base ai campi IdCategoria.
Se la tabella Settori ha una struttura simile a questa:
IdSettore        Contatore e chiave primaria
DesSettore     Testo
Se le tabelle Categorie e Settori sono in relazione uno-a-molti in base ai
campi IdSettore.
Se nella maschera il controllo che deve contenere la descrizione della
sottocategoria si chiama txtSottocategoria.
Se nella maschera il controllo che deve contenere la descrizione della
categoria si chiama txtCategoria.
Se nella maschera il controllo che deve contenere la descrizione del settore
si chiama txtSettore.
Se nella maschera la casella combinata associata al campo IdTipologia della
tabella Operazioni si chiama cboTipologia.
Fai in maniera che la casella combinata cboTipologia abbia 5 colonne di cui
visibile solo la seconda.
Fai in maniera che l'origine riga di cboTipologia sia il seguente codice
SQL:
SELECT Tipologie.IdTipologia, Tipologie.DesTipologia,
Sottocategorie.DesSottocategoria, Categorie.DesCategoria, Settori.DesSettore
FROM (Settori INNER JOIN (Categorie INNER JOIN Sottocategorie ON
Categorie.IdCategoria = Sottocategorie.IdCategoria) ON Settori.IdSettore =
Categorie.IdSettore) INNER JOIN Tipologie ON Sottocategorie.IdSottocategoria
= Tipologie.IdSottoctegoria;
A fronte dell'evento "Dopo aggiornamento" della casella combinata
cboTipologia genera il seguente codice VBA:
Me!txtSottocategoria = Me!cboTipologia.Column(2)
Me!txtCategoria = Me!cboTipologia.Column(3)
Me!txtSettore = Me!cboTipologia.Column(4)
Le stesse tre righe di codice VBA generale anche a fronte dell'evento "Su
corrente" della maschera
--


 ha scritto nel messaggio
news:bv4J9.74547$3l.20...@twister1.libero.it...

Grazie mille!
Nina