Newsgroup: it.comp.appl.access
Titolo: Casella combinata

In una maschera ho 3 caselle combinate,
la 1 sceglie il gruppo
la 2 il sottogruppo
la 3 la categoria
ecco io vorrei che ad esempio, se io scelgo il gruppo alimentari, in
automatico quando vado a cliccare nel sottogruppo siano già filtrati i
record appartenenti, ad esempio pasta bevande ecc..., e di conseguenza anche
nella categoria ad esempio pasta all'uovo pasta di semola ecc...
Come posso fare??????

Come posso fare??????
comincia a studiarti un po' di sql.
poi usa il dopoaggiornamento delle varie combo per creare una stringa
di sql ed assegnarla come rowsource alla combo "successiva".
--
non studio non lavoro non guardo la tv
non vado al cinema non faccio sport
----------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access

Ho creato:
1 tabella Gruppo con ID - Descrizione
2 tabella Sottogruppo con IDGruppo - ID - Descrizione
3 tabella Categoria con IDGruppo - IDSottogruppo - ID - Descrizione
In una maschera ho 3 caselle combinate,
la 1 sceglie il gruppo
Origine di controllo: Gruppo
SELECT DISTINCT [Gruppo].[ID], [Gruppo].[Descrizione] FROM Gruppo;
e poi?
la 2 il sottogruppo
la 3 la categoria
 ecco io vorrei che, ad esempio, se io scelgo il gruppo alimentari, in
automatico quando vado a cliccare nel sottogruppo siano già filtrati i
record appartenenti, ad esempio pasta bevande formaggi ecc..., e di
conseguenza anche
nella categoria siano già filtrati i record appartenenti ad esempio pasta


 la 3 la categoria
Ti posto un po' di codice di una mia applicazione, dove chiamo Famiglia,
Gruppo e Sottogruppo i 3 livelli:
Private Sub SelezFamiglia_AfterUpdate()
 Me!SelezGruppo = Null  'cambia la famiglia, annulla scelta precedente
 Me!SelezSottogruppo = Null  'cambia la famiglia (e quindi il gruppo)
merceologico
End Sub
Private Sub SelezGruppo_AfterUpdate()
 Me!SelezSottogruppo = Null   'cambia il gruppo merceologico, annulla scelta
precedente
End Sub
Private Sub SelezGruppo_Enter()
 'prepara elenco gruppi, in base alla famiglia
 If IsNull(Me!SelezFamiglia) Then  'elenca tutti i gruppi disponibili
  Me!SelezGruppo.RowSource = "SELECT IDgruppo, NomeGruppo FROM TblGruppi
ORDER BY NomeGruppo"
 Else 'elenca solo i gruppi della famiglia selezionata
  Me!SelezGruppo.RowSource = "SELECT IDgruppo, NomeGruppo FROM TblGruppi
WHERE IDfamiglia=" & Me!SelezFamiglia & " ORDER BY NomeGruppo"
 End If
End Sub
Private Sub SelezSottoGruppo_Enter()
 'prepara elenco sottogruppi, in base al gruppo
 If IsNull(Me!SelezGruppo) Then  'elenca tutti i sottogruppi disponibili
  Me!SelezSottogruppo.RowSource = "SELECT IDSottogruppo, NomeSottogruppo
FROM TblSottoGruppi ORDER BY NomeSottogruppo"
 Else 'elenca solo i gruppi del gruppo selezionato
  Me!SelezSottogruppo.RowSource = "SELECT IDSottogruppo, NomeSottogruppo
FROM TblSottoGruppi WHERE IDgruppo=" & Me!SelezGruppo & " ORDER BY
NomeSottogruppo"
 End If
End Sub
Le caselle combinate sono non associate, e la popolazione avviente quando
prendono il focus, non ad ogni variazione del livello superiore.
--
Ciao, AntoGal
*************************************************
Gestione punti vendita (casse e pos NCR)
 
www.powerretail.it
-------------------------------------------------------------
per scaricare un gioco di DAMA ITALIANA
http://volftp.mondadori.com/italiani/galletta/
*************************************************

prendono il focus, non ad ogni variazione del livello superiore.
Io ho lo stesso problema, nella mia maschera ho inserito 3 caselle combinate,
perchè quando inserisco gli articoli scelgo prima la famiglia la seconda
dovrebbe trovare il gruppo associato e la terza dovrebbe trovare il sottogruppo
associato, ora essendo un' imbranata questo io non lo ho legato, ne a query o
moduli ma a tabella per cui se ho 10 famiglie 15 gruppi 40 sottogruppi, ogni
volta devo scorrerli ogni uno con perdite di tempo.
Che caselle bisogna avere per associarle, ed a ogni variazione di livello
superiore mi varia  il record associato?

 wrote in message
3A58CBDF...@libero.it...

Nonostante il discorso arzigogolato sei riuscita a non perdere il filo e
alla fine ne e' scaturita una descrizione comprensibile :-)
Comunque non devi fare altro che modificare l'origine delle combo la dove
compare la semplice tabella con una query che tenga conto dei valori
contenuti nelle combo "sovrastanti".
SELECT * FROM TuaTabella WHERE TuaTabella.Categoria Like
Forms!TuaMaschera!ComboSovrastante
Ovviamente non dimenticare di eseguire il requery delle combo sottostanti
all'interno dell'evento DopoAggiornamento delle combo sovrastanti.
Spero che tu sia riuscita a seguire il mio di giro di parole.
Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access
------------------------------------------------------
La mia home (ancora non completa)
http://digilander.iol.it/syb
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente

 SELECT * FROM TuaTabella WHERE TuaTabella.Categoria Like
Forms!TuaMaschera!ComboSovrastante
Io ho fatto così nel campo Sottogruppo
SELECT * FROM Sottogruppo WHERE Sottogruppo.Gruppo Like Forms!Articoli
subform!Sottogruppo
ma ho sbagliato, dove?

 wrote in message
93i1t9$rio$1...@lacerta.tiscalinet.it...

Fra Forms e subform mi sembra che manchi almeno un punto esclamativo, poi
c'e' qualcosa che non mo convince, ma data l'ora non capisco cosa.
