Newsgroup: it.comp.appl.access
Titolo: aiuto sottomaschere

Salve a tutti. Lavoro da poco in Access e sono tre giorni che non riesco a
risolvere un problema.
Il mio programma ha una maschera principale dove sono visibili tutti i
comuni dati di un cliente.
su questa maschera c'è il tasto "installazione" che porta alla sottomascera
"tipi impianti". Da qui premendo uno dei tipi di impianti vorrei andare in
una maschera che mi mostra i dati dell'installazione e i lavori svolti. un
cliente può fare infinite installazioni e ogni installazione è fatta da uno
o più lavori. Il problema è che vorrei che i dati sul cliente scelto nella
maschera iniziale (in particolar modo il suo ID) siano passati all'ultima
sottomaschera in modo da non dover ricercare e inserire sempre il suo ID.
C'è un modo per realizzare ciò che ho scritto? Spero di essere stato chiaro
e vi ringrazio già da ora....

 e vi ringrazio già da ora....
Vai nell'origine dati della tua sottomaschera ed in corrisondenza del campo
ID_cliente nei criteri ci metti
[forms]![nome tua maschera principale]![ID_cliente]


Penso che la prima cosa da fare è definire correttamente la struttura delle
tabelle, e il modo in cui sono in relazione fra di loro: solo dopo aver
fatto
questo potrai decidere come fare le maschere.
Mi sembra di capire che le tabelle in gioco sono 3: TabClienti,
TabInstallazioni e TabLavori; la loro struttura potrebbe essere la seguente:
TabClienti
---------------
IdCliente                   Contatore e chiave primaria
RagioneSociale      Testo
Indirizzo                    Testo
ecc. ecc.
-------------------------------------------------------------------
TabInstallazioni
---------------------
IdInstallazione         Contatore e chiave primaria
DescrInstallazione  Testo
IdCliente                   Numerico
Effettua l'Autocomposizione Ricerca... su IdCliente basandola su TabClienti.
------------------------------------------------------------------
TabLavori
--------------
IdLavoro                    Contatore e chiave primaria
IdInstallazione           Numerico
ecc. ecc.
Effettua l'Autocomposizione Ricerca... su IdInstallazione basandola su
TabInstallazioni.
-------------------------------------------------------------------
Ed ora mettiamo tra di loro le tabelle in relazione:
1) TabInstallazioni va messa in relazione uno-a-molti con TabClienti tramite
i campi IdCliente: devi aggiungere a questa relazione l'integrità
referenziale con elimina record correlati a catena.
2) TabLavori va messa in relazione uno-a-molti con TabInstallazioni tramite
i campi IdInstallazione: devi aggiungere a questa relazione l'integrità
referenziale con elimina record correlati a catena.
In TabLavori, seguendo i principi di un database relazionale, non ho messo
scientemente un campo IdCliente: con questa struttura, con l'uso delle
maschere+sottomaschere e delle query, potrai comunque determinare di quale
cliente è un determinato lavoro.
Ora puoi crearti una maschera (Maschera1) con visualizzazione a Maschera
singola e che abbia come origine record TabClienti; in Maschera1, oltre ai
controlli che conterranno i dati anagrafici del cliente, inserisci anche una
sottomaschera (SottoMskInstallazioni) con visualizzazione a Maschere
continue che abbia come origine record TabInstallazioni: sia la proprietà
"Collega campi secondari" che quella "Collega campi master" del controllo
sottomaschera contenuto in Maschera1 debbono contenere IdCliente.
Così facendo, aprendo Maschera1, senza l'ausilio di alcun pulsante, vedrai
tutti gli impianti di quel cliente e se necessario ne inserirai di nuovi.
Ora creati un'altra maschera (Maschera2) con visualizzazione a Maschera
singola e che abbia come origine record TabInstallazioni; in Maschera2,
oltre ai controlli che conterranno i dati dell'installazione, inserisci
anche una sottomaschera (SottoMskLavori) con visualizzazione a Maschere
continue che abbia come origine record TabLavori: sia la proprietà "Collega
campi secondari" che quella "Collega campi master" del controllo
sottomaschera contenuto in Maschera2 debbono contenere IdInstallazione.
Così facendo, quando verrà aperta Maschera2, senza l'ausilio di alcun
pulsante, vedrai tutti i lavori di quella determinata installazione e se
necessario ne inserirai di nuovi.
In SottoMskInstallazioni inserisci, con l'Autocomposizione controllo, un
pulsante di comando; nello svolgimento del wizard dell'autocomposizione
chiedi ad Access di aprire la maschera Maschera2 filtrata in base a
IdInstallazione.
Se hai fatto tutto a modino, ora puoi aprire Maschera1 e cliccando sul
pulsante relativo ad una determinata installazione, si aprirà Maschera2 che
ti mostrerà fra l'altro i relativi lavori.
Facci sapere.
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------