Newsgroup: it.comp.appl.access
Titolo: Copiare la chiave primaria da una maschera ad un'altra

Ho due tabelle A e B in relazione tra loro con il campo PIVA testo.
Per ogni tabella ho creato una maschera, MscA e MscB.
Ora vorrei che con la MscA aperta, quando dal bottone su quest'ultima
viene aperta la maschera MscB, il valore del campo PIVA della MscA
venga copiato anche nel campo PIVA della MscB affinchè la relazione
venga soddisfatta.
In pratica:
nella maschera o tabella A ci sono le aziende mentre nella tabella e
maschera B ci sono i dipendenti, il mio intento è quello di effettuare
l'inserimento di tutti i dipendenti di un'azienda tenendo aperta la
maschera di quest'ultima (MscA).
So che devo usare DefaultValue ....
PIVA.DefaultValue = Forms!MscA!PIVA
inserito nell'evento su apertura della MscB
Ma non riesco a capire perchè non riesco ad inserire la proprietà
DefaultValue, in quanto quando scrivo il punto mi elenca solo la
proprietà Value.
Grazie 
 

 ha scritto nel messaggio 
news:3tjr149ul6e7h8c3v...@4ax.com...

Ciao lebroky,
no in questo caso devi mettere
PIVA=Forms!MscA!PIVA
nell'evento befeore insert della mscB
-- 
Cinzia [Office Access MVP]
_______________________
 
www.riolab.org
http://accessdaziacin.live.spaces.com
---------------------------------------- 



Negativo non lo fa, il controllo PIVA della MscB è una casella
combinata che ha come origine riga una quey QryB che ha origine dalla
tblA ed include il campo PIVA e RagSciale.
Quando cambio Dipendente non si aggiorna il controllo PIVA della MscB,
inoltre io vorrei che anzichè la PIVA venisse visualizzata la Ragione
Sociale. Come posso fare?
Affinchè i record già esistenti non vengano modificati scorrendo tra
un record ed un altro cosa posso fare?
Posso impostare la maschera affinchè alla sua apertura mi appare la
schermata vuota utile per l'inserimento di un nuovo dipendente?
Mille grazie 


wrote:


 ha scritto nel messaggio 
news:rb9s149kek6j7m5sf...@4ax.com...

Ciao lebroki,
cerchiamo di ricapitolare, nella maschera A, hai i dati dell'azienda 
PIVA, Rag. Sociale indirizzo ecc...  cliccando su un apposito pulsante 
visualizzi la maschera B (a record singolo o una maschera continua?) 
con un comando di questo tipo:
    DoCmd.OpenForm "mscB", acNormal, ,"[PIVA]='" & me.PIVA & "'" , 
acFormEdit
se invece di acFormEdit usi acFormAdd ti verrà visualizzata una 
maschera vuota con i dati da compilare.
Ora se la partita IVA e la ragione sociale sono già nella maschera A 
perchè metterle anche  nella maschera B?
Cosa intendi con "quando cambio dipendente non si aggiorna il 
controllo pIva della maschera B"?, se cambi dipendente significa che 
il dipendente è già inserito e quindi deve essere già inserita anche 
la PIVA dell'azienda, quindi se la comboBox è associata al campo PIVA 
deve cambiare per forza, se invece intendi che quando inserisci un 
nuovo dipendente non si aggiorna la PIVA allora significa che non hai 
fatto quello che ti ho detto di fare.
Per semplificare la faccenda prova a fare così metti una TextBox 
associata al campo PIVA (invisibile se non la vuoi vedere) poi 
aggiungi una textbox RagSociale non associata a nulla che come origine 
controllo avrà =  DlookUp("ragSociale; "tabellaA"; "[PIVA]='" & 
me.PIVA & "'")
nel BeforeInsert della MAscheraB inserisci l'istruzione del post 
precedente  e vediamo che succede.


precedente  e vediamo che succede.
Soluzione ottimale
Scusami se non sono stato chiaro, domani seguo i tuoi suggerimenti e
ti faccio sapere,
grazie...

 wrote:


Scusa il ritardo...
Ho fatto come dici ma mi da un errore "operando senza operatore".
Facendo un'attenta valutazione, ritengo che dovrei creare una
mascheraA(tblAziende) con la sua SottomascheraB(tblLavoratori) per
ottenere una migliore associazione Azienda-Dipendente e soprattutto in
questo modo ottendo anche un filtraggio dei dipendenti.
Alla luce di quanto detto è possibile avere lo stesso effetto?
Cliccando sul pulsante Dipendenti della maschera Aziende 
si aprirà 
una maschera (associata alle aziende) con una sottomaschera (associata
ai dipendenti),
ma il record che verrà aperto conterrà tutti i dipendenti dell'azienda
visualizzata nella maschera Aziende.
Spero di essermi spiegato bene, grazie e susami per il ritardo.


Ciao lebroky,
si certo in questo modo è tutto più semplice, praticamente sul click 
del bottone dipendenti dovrai eseguire una istruzione di questo tipo:
 DoCmd.OpenForm "TuaMascheraConSottoMaschera", acNormal, ,"[PIVA]='" & 
me.PIVA & "'" , acFormEdit
-- 




Grazie tutto ok...