Newsgroup: it.comp.appl.access
Titolo: form per aggiunta record: come visualizzare dati da tabella  correlata?

ciao a tutti,
in genere cercando nei post del gruppo trovo sempre la soluzione ai
problemi che incontro, ma questa volta non ci sono riuscita e quindi
vi chiedo aiuto.
Vorrei che l'utente, da una maschera in cui appariono i dati di un
edificio e in una sottomaschera gli interventi effettuati in
quell'edificio, possa aggiungere un intervento nuovo. Ho inserito un
pulsante "nuovo intervento", che apre una maschera in modalità
acFormAdd, passando negli openargs l'id dell'edificio, e fin qui tutto
normale.
Il problema nasce perché voglio che in questa maschera compaiano anche
già i dati dell'edificio e non ci riesco: i campi relativi a
provincia, comune ed edificio nella maschera sono vuoti e le uniche
alternative sembrano essere o eliminarli del tutto dalla maschera (ma
così si rischiano errori, non potendo verificare in quella sede che si
stia inserendo l'intervento giusto nell'edificio giusto) o lasciare
che l'utente li inserisca da capo (e qui davvero le possibilità di
errore si moltiplicano).
In pratica, nella maschera compaiono tutti i campi del nuovo record,
compresa la chiave esterna che indica l'edificio, più tutti i dati
dell'edificio relativo (e del comune in cui è l'edificio).
Possibile che non si possa farli comparire, visto che li so già (sono
presenti nella maschera chiamante)?
Ho fatto tanti diversi tentativi, che vi risparmio, e mi viene il
dubbio che semplicemente non sia possibile in una maschera aperta in
modalità acFormAdd inserire i dati da una tabella correlata a quella
in cui sto aggiungendo il nuovo record.
La maschera è la stessa che uso per la visualizzazione o la modifica
degli interventi, solo che qui la chiamo come acFormAdd: è questo
l'errore?
Questa è la query a cui è associata:
SELECT 
interventi.id
, interventi.descr, interventi.spec,
edifici.id_com, edifici.nome, interventi.id_edif, interventi.num_per,
interventi.id_cap, interventi.id_cat, interventi.id_prop,
province.sigla, edifici.num
FROM (province RIGHT JOIN (comuni RIGHT JOIN edifici ON comuni.ID =
edifici.id_com) ON 
province.id
 = comuni.id_prov) RIGHT JOIN interventi
ON 
edifici.id
 = interventi.id_edif;
Sono due giorni che mi scervello, ma ho il forte sospetto di avere la
risposta davanti agli occhi senza vederla ed è una sensazione
esasperante!
Spero di essere stata chiara e di aver fornito tutti gli elementi
necessari.
ciao e grazie in anticipo a chi mi darà una mano
viviana

 ha scritto nel messaggio 
news:915c30b4-73a4-4e5d...@z66g2000hsc.googlegroups.com...
ciao a tutti,








Se acFormAdd si riferisce alla maschera principale è qui che sbagli.
Io ti consiglio di fare così:
Hai la tua maschera PRINCIPALE con SUB-FORM (elenco degli inteventi), quindi 
quest'ultima a meno che tu non voglia interagire direttamente dovrà essere 
perlomeno di tipo snapshot o altrimenti avere come origine dei dati una 
query non aggiornabile.
Dopodichè attraverso un tasto apri una maschera (Docmd.OpenForm 
"Tuamaschera",,,,acDialog) che avrà come origine dei dati la tabella degli 
interventi che se è stata creata correttamente avrà un campo IDPrincipale in 
relazione appunto all'ID della maschera principale.
I dati principali li puoi anche richiamare nelle caselle di testo 
utilizzando la formula:
=Forms!Principale!Società
Naturalmente l'ID della maschera principale dovrà essere inviato al campo 
IDPrincipale (della maschera inserimento interventi) al momento 
dell'apertura e lo puoi fare da codice oppure utilizzando il valore 
predefinito della casella mettendo sempre
=Forms!Principale!ID
Spero tu possa risolvere così il tuo problema...non è complicato...  puoi 
trovare un esempio uguale nel database northwind.
Ciao
-- 
Roberto da Parma 

 Roberto da Parma
sono stata 'fuori gioco' per qualche giorno, quindi leggo solo oggi:
grazie Roberto, esattamente quello che mi serviva!
Hai ragione, non è complicato (una volta che uno più bravo di te te
l'ha spiegato eheheheheh), ho provato e risolto
ciao :-)
viviana

 ha scritto nel messaggio 
news:2fb1299f-2664-4ee6...@a3g2000prm.googlegroups.com...


ciao :-)
viviana
C'è sempre qualcuno che ne sa più di me...ma siam qui per aiutare 
tutti...ognuno con il proprio bagaglio...


 Roberto da Parma
è che io viaggio ancora molto leggera ;->
ma spero in futuro di poter essere d'aiuto, oltre a imparare, per ora
il newsgroup è la mia risorsa fondamentale, quando non so che pesci
pigliare ^__^
ciao, alla prossima
viviana