Newsgroup: it.comp.appl.access
Titolo: Aggiornamento controllo

Ciao a tutto il nw.
Allora vediamo se riesco a spiegarvi il mio problema.
ho due tabelle con i campi "codice" e "data" uguali da una parte e
dall'altra.
Voglio creare una maschera per la modifica dei dati sia su una tabella che
sull'altra.
Ho creato la prima maschera (maschera1) che si basa sulla tabella1 e la
maschera2 che si basa sulla maschera2
Bene. A questo punto nella maschera1 modifico il campo "data" e vorrei che
in automatico si modificasse anche il controllo "data" presente sulla
maschera22 (e di conseguenza il campo sulla tabella2)
Il controllo "data" sulla maschera2 come "origine dati" ha la tabella2, ho
provato a mettere come "valore predefinito" =[tabella1]![data] ma non
funziona. Ho provato anche [maschere1]![data] ma anche qui all'apertura
della maschera mi fa vedere il valore che è nel campo associato e non quello
che ho appena inserito io nella maschera1.
Spero di essere stato chiaro. Grazie
Luca
 
 
 
--------------------------------
Inviato via 
http://usenet.libero.it


Sull'evento "Prima di Aggiornare" o "Dopo Aggiornamento" della maschera1
puoi scrivere:
Forms!Maschera2!Data = Me.Data
cosě per gli altri controlli
La domanda č questa: sei sicuro che la maschera2 sia posizionata sul record
che devi aggiornare?
Devi aggiungere un nuovo record in maschera2?
Ciao, Carlo

 Ciao, Carlo
1) La maschera2 č posizionata sul record giusto, lo dimostra il fatto che il
controllo "data" della maschera2 mi fa vedere esattamente il campo relativo
della tabella2.
2) No, non devo agggiungere nessun record. Devo modificare un record.
Comunque penso che il mio problema si possa risolvere in questo modo:
Modificando un dato presente nella tabella1 e quindi visualizzato dalla
maschera1 č possibile che la modifica vada tanto in tabella1 che in
tabella2?
Mi spiego: modificando un dato sulla maschera1 legata alla tabella1 č
possibile che la modifica mi vada anche nella tabella2? Se si come faccio?


 ha scritto nel messaggio
news:217Z56Z224Z171Y...@usenet.libero.it...

Allora la soluzione che ti ho proposto va bene.
Ciao, Carlo

 ha scritto:

Mi restituisce l'errore: "Non riesce a trovare la maschera2".... Mah!?
Eppure č scritta nel modo giusto...
Comunque quello che volevo sapere č se il codice che hai scritto tu serve a
salvare il dato "data" nella tabella2 o lo fa vedere nella maschera2. Se
fosse la seconda soluzione, mi piacerebbe sapere come si fa a far salvare un
dato presente su una maschera su due tabelle distinte.



Guarda che quello che ha scritto Carlo resuppone che la maschera 2 sia
aperta.
ciao MAssimiliano



Maschera1 e Maschera2 sono solo indicativi. E' chiaro che se le tue maschere
si chiamano Frm1 e Frm2 dovrai sostituire i nome. Cosě per i controlli, se
si chiamano MiaData1 e MiaData2, andrŕ opportunamente cambiato il nome nel
codice.
Poi, se sei sicuro che la maschera2 (o come si chiama) č aperta, fai cosě:
prima del codice che dice Forms!Maschera2!Data = ....scrivi
Docmd.SelectObject acform, "Maschera2"
e alla fine del codice
docmd.Selectobject acform, "Maschera1"
Ciao, Carlo

 Ciao, Carlo
grazie Carlo,grazie MA dell'interessamento.
Cosě funziona!
Vi chiedo (stresso) ancora un pň: mettiamo il caso che ho due tabelle (tab1
e tab2) che contengono due campi uguali (data, codice), ho poi una maschera
(maschera1) legata alla tab1. Modifico il campo "data" della tab1 tramite il
controllo sulla maschera1 č possibile che in automatico mi venga modificato
anche nella tab2).
In pratica č come l'esempio precedente senza perň la seconda maschera.
Grazie ancora



Certo che è possibile a patto di sapere esattamente quale record modificare
nella Tab2.
Per esempio senza scrivere del codice puoi creare una query di
aggiornamento.
La query si alimenta da Tab2 e avrà nei criteri di "Codice" (se questo è il
campo univoco comune) il riferimento alla maschera1:
Forms!Maschera1!Codice
e nella riga "Aggiorna a" del campo DATA: Forms!Maschera1!Data
Fai partire la query per esempio "Dopo aggiornamento" del controllo DATA di
Maschera1:
Docmd.SetWarning = False
Docmd.OpenQuery "TuaQueryDiAggiornamento"
Docmd.SetWarning = True
Altra strada è fare tutto da codice...ma mi sembra sia meglio la prima.
Ciao, Carlo

 Ciao, Carlo
Grazie funziona!!
Ehm... ancora una cosetta: che codice devo utilizzare per fare un "refresh"
della maschera dopo che ho lanciato la query di aggiornamento?
Grazie


 ha scritto nel messaggio
news:217Z56Z224Z171Y...@usenet.libero.it...

Proprio come hai scritto: Me.Refresh
oppure me.Recalc
Ciao, Carlo