Newsgroup: it.comp.appl.access
Titolo: scusate...ma sto diventando matto!

Scusatemi, probabilmente il problema è banale, ma, come spesso accade, anche
se la soluzione mi sta sotto agli occhi...ma non riesco a vederla, e se
continuo così non la vedrò mai...sono completamente nel pallone; per favore
toglietemi dall'empasse.
Allora, avete presente il DB Northwind, l'esempio fornito con Access, bene
c'è una form Ordini che, tra le altre cose, riporta nella zona in alto a sx
le informazioni relative al Cliente.
Queste sono controllate da una combobox, associata con il IDCliente, a
scelta eseguita cambia il contenuto delle rimanenti informazioni
(spostandomi sull'elemento in combobox, mi sposto effettivamente sul record
relativo).
Ho generato una form contenente unicamente le informazioni prelevate dalla
tabella Cliente, e strutturata esattamente come la zona cliente della form
Ordini suddetta. All'avvio si posiziona sul primo record, vado sulla
combobox, scelgo il nuovo cliente e mi aspetto che l'intera mappa si
aggiorni sul nuovo record...niente da fare...il resto della mappa rimane
invariato!
Notate bene che sul forms!Ordini!IDCliente è associato l'evento seguente
Private Sub IDCliente_AfterUpdate()
' Aggiorna i controlli sul destinatario sulla base del valore scelto nella
casella combinata IDCliente.
    Me!Destinatario = Me![IDCliente].Column(1)
    Me!IndirizzoDestinatario = Me!Indirizzo
    Me!CittàDestinatario = Me!Città
    Me!ZonaDestinatario = Me!Zona
    Me!CAPDestinatario = Me!CAP
    Me!PaeseDestinatario = Me!Paese
End Sub
che non c'entra niente con i dati che interessano a me.
Devo ammazzarmi...frullare tutto e tornare al buon vecchio Clipper (che non
mi ha mai deluso e lo facevo fischiare), o c'è anche una terza via? ; )
Cmq, tutto nasce dalla necessità di far funzionare un sistema che prevede
due tabelle:
    Categoria 1:1 -----appartiene a------- 0:n Prodotto
con una form dove ho una combobox su IDcategoria e una subform contenente i
soli prodotti appartenenti alla categoria selezionata via combobox e con la
possibilità di aggiungere prodotti.
Grazie mille x la comprensione...ma ho tentato di tutto, sono andato su
tutti i siti, ho prelevato tutto, mi sono anche rifugiato sull'esempio
Northwind che non brilla x bellezza, ma sono cotto...non trovo il problema.
Roberto
p.s. l'unica urgenza è rappresentata dalla salvaguardia della mia salute
mentale ; )))



 ha scritto nel messaggio
news:8o8788$ihc$1...@sirmdpsin17.inwind.it...

Visto che si tratta della salute mentale di uno che ha il mio stesso nome,
bisogna darsi da fare.
La mia soluzione parte da questi presupposti:
1) Tabella1
IdCategoria            Contatore e chiave primaria
DescrCat                Testo
2) Tabella2
IdProdotto                Contatore e chive primaria
IdCategoria                Numerico
DescrizProdotto        Testo
3) Tabella1 e Tabella2 in relazione uno-a-molti in base a IdCategoria
A questo punto creati una maschera (Maschera1) che contiene una casella
combinata non associata che ha come nome Categoria e come origine riga:
SELECT DISTINCTROW Tabella1.IdCategoria, Tabella1.DescrCat
FROM Tabella1;
e rendi visibile solo la seconda colonna della combo.
Inserisci in Maschera1 anche una casella di testo non associata e chiamala
Pippo: rendi Pippo non visibile.
Dopo aver verificato che l'opzione "Autocomposizione Controllo" della
Casella degli strumenti sia abilitato, inserisci, sempre in Maschera1, una
sottomaschera che contiene tutti i campi di Tabella2 e chiamala
Sottomaschera.
A fronte dell'evento "Dopo aggiornamento" di Categoria genera il seguente
codice VBA:
Me![Pippo] = Me![Categoria].Column(0)
Me![Sottomaschera].SetFocus
Nella proprietà "Collega campi secondari" del controllo Sottomaschera di
Maschera1 scrivi IdCategoria e nella proprietà "Collega campi master" scrivi
Pippo.
Apri Maschera1, seleziona dalla combo la categoria desiderata, nella
sottomaschera ti compariranno i prodotti di quella categoria che potrai
anche aggiornare.
Facci sapere
Roberto