Newsgroup: it.comp.appl.access
Titolo: Valore predefinito

Come assegnare ad un campo (casella di testo) un valore predefinito
uguale a quello di un campo di in altra tabella?
La query d'origine della maschera contiene tutte e due le tabelle.
Saluti
Frank


--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------


Cerco di spiegarmi
Nella maschOrdine sono presenti il campo [Pagamento] della
tabClienti ed il campo [PagamentoFornitura] della tabOrdini.
Aprendo la maschera nel campo [Pagamento] trovo già la descrizione del
pagamento (già inserita nella tabClienti) che vorrei far comparire anche nel
campo [PagamentoFornitura], così
se non devo cambiarlo lascio quello già indicato e vado avanti.
Nelle prove per il campo [PagamentoFornitura]  nelle proprietà/valore
predefinito avevo inserito ' =[Pagamento] ' ma non mi ha dato nessun
risultato.
Ho provato anche ad inserire ' =[Clienti]![Pagamento] ' ma mi ha dato errore
' #Nome? '
Scusami ma cosa significa 'dichiara la tua casella di testo come associata a
tale campo' ? E' per caso la procedura di cui sopra?
Saluti
Francok


Ora ho capito un pochino di più il tuo problema (almeno spero).
Hai una query basata su tabClienti e tabOrdini; devo immaginare che queste
due tabelle siano in relazione uno-a-molti tra di loro in base a IdCliente.
Quindi hai creato maschOrdine che ha come origine record la tua query;
allora [Pagamento] non è un campo di tabClienti ma un controllo associato di
maschOrdine, controllo associato al campo [Pagamento] della query e non di
tabClienti. Altrettanto vale per [PagamentoFornitura].
Appurato che non devi portare il contenuto di un campo dentro un altro
campo, bensì il contenuto di un controllo dentro un altro controllo,
affinché Access non ti dia l'errore #Nome? nel valore predefinito devi
scrivere =[Forms]![maschOrdine]![Pagamento].
Se fai così l'errore ti sparisce ma il controllo [PagamentoFornitura]
resterà comunque vuoto, quindi non è utilizzando il valore predefinito che
risolvi il problema.
Se vuoi sapere perché, il motivo è semplice: Access immette il valore
predefinito in [PagamentoFornitura] al momento che compare la maschera vuota
per creare un nuovo ordine; in quel momento però [Pagamento] non contiene
nulla, e nulla Access ti trasferisce in [PagamentoFornitura].
Poiché nel controllo [Pagamento] ti comparirà qualcosa solo dopo che avrai
digitato dentro al controllo IDCliente di maschOrdine il codice del cliente
cui si riferisce l'ordine che stai per inserire, risolverai il tuo problema
generando il seguente codice VBA a fronte dell'evento "Dopo aggiornamento"
del controllo IDCliente:
    Me![PagamentoFornitura] = Me![Pagamento]


Roberto scusami ancora
ho eseguito alla lettera le tue istruzioni ma inserendo
Me![PagamentoFornitura] = Me![Pagamento] 'dopo aggiornamento'
del controllo IDCliente, nell'aprire la mascOrdini un messaggio
mi avvisa che non trova la macro.
Ho provato anche con
=Me![PagamentoFornitura] = Me![Pagamento]
ma è più o meno la stessa cosa.
Devo forse creare una macro?
Saluti
FrancoK

 ha scritto nel messaggio
news:8rvrpa$a6u$1...@news.mclink.it...

 Per come me la racconti debbo immaginare che tu abbia scritto
"Me![PagamentoFornitura] = Me![Pagamento]" direttamente nella proprietà
"Dopo aggiornamento" del controllo IDCliente; devi invece spostarti con il
mouse sull'estremita destra della riga relativa a tale proprietà sino a
quando non vedrai tre puntini: cliccaci sopra e, tramite le finestre che ti
si apriranno, crea un codice che deve contenere appunto
    Me![PagamentoFornitura] = Me![Pagamento]
--


non riesco a far funzionare il valore predefinito che ho trovato sul sito
comune per il contatore. qualcuno può darmi una mano?

 comune per il contatore. qualcuno può darmi una mano?
Ti riferisci alla "Numerazione crescente per fatture e altro"?
Cosa non ti funziona? Dove hai messo la formula?
e soprattutto, di dove sei? (che vorrei verificare una cosa su Infostrada)
Ciao, Sib