Newsgroup: it.comp.appl.access
Titolo: casella combinata e sottomaschera

Ciao a tutti, vi risparmio il sono una neofita ecc. ecc. tanto lo si capisce
in seguito.
Vorrei crearmi un database dei miei CD di musica.
Ho fatto due tabelle
                       Tbl Cantanti                           Tbl dischi
Campo1         Id Cantante                             Id Dischi
Campo 2        NomeCantante                        Disco
Campo3                                                        Id Cantante
Ho creato una maschera collegata alla tbl Cantanti dove ho inserito una
sottomaschera collegata alla tbl Dischi.
 La maschera e la sottomaschera sono collegate, nelle proprietà campi
secondari e campi master, tramite il campo Id Cantante
Fin qui tutto bene funziona tutto, scorrento i record  della maschera  nella
sottomaschera visualizzo i dischi filtrati e corrispondenti al cantante.
Il  problema è che vorrei cambiare la casella corrispondente ai cantanti da
casella di testo in casella combinata quindi scegliere dalla lista a tendina
il cantante ed avere nella sottomaschera i relativi dischi.
Purtroppo così facendo non riesco più a filtrare i corrispondenti dischi. In
poche parole sembra che la sottomaschera non sia più collegata alla maschera
principale.
Ho provato a guardare nel Ng e nel sitocomune, purtroppo ho trovato solo
nella sezione form un esempio (aggiungi tutti nella casella a discesa) che
non ho capito bene se non fa al caso mio o sono veramente imbranata.
Vorrei ringraziarvi anticipatamente, devo scollegarmi  in quanto devo
continuare a studiare (per un esame) e potrò vedere le vostre eventuali
risposte solo stasera.
Ciao, siete bravissimi da invidia.
giulia

 giulia
Ci sono tanti modi per risolvere il tuo problema, te ne suggerisco uno.
Partiamo dalla maschera/sottomaschera che erano funzionanti, insomma quelle
dove non ci sono caselle combinate: non devi cambiare la casella di testo
corrispondente ai cantanti in casella combinata, anche perchè è associata,
mentre per fare una selezione ti serve una casella combinata non associata.
Quindi, nell'intestazione (ho scritto intestazione e non corpo) della
maschera principale funzionante inserisci una casella combinata non
associata che chiamerai CercaCantante; fai in modo che la casella combinata
abbia due colonne di cui visibile solo la seconda; imposta a 1 la proprietà
Colonna associata della casella combinata; come origine riga della casella
combinata usa il seguente codice SQL:
SELECT DISTINCTROW TblCantanti.IdCantante, TblCantanti.NomeCantante
FROM TblCantanti
ORDER BY TblCantanti.NomeCantante;
Sembra un po' complicato, ma se per inserire nella maschera la casella
combinata usi l'autocomposizione controllo e rispondi correttamente alle
domande che ti pone il wizard, fa tutto da solo Access. ;-)
A fronte dell'evento "Dopo aggiornamento" della casella combinata genera il
seguente codice VBA:
Me.Filter = "IdCantante=" & Me!CercaCantante
Me.FilterOn = True
Ora se apri la maschera principale e selezioni dalla casella combinata il
nome di un cantante, nella maschera principale vedrai i dati di quel
cantante e nella sottomaschera i dati relativi ai suoi dischi.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------