Newsgroup: it.comp.appl.access
Titolo: refresh di una combo con nuovo valore

Ciao a tutti
La situazione è questa:
sottomaschera (associata) con combo che pesca i dati da una Tabella;
L'utente può selezionare il valore della combo o può immetterne uno 
nuovo a sua scelta
Come fare in modo che il valore nuovo alla prossima selezione della 
combo venga visualizzato?
Cerco di spiegarmi meglio con un esempio
La combo si chiama PERSONAGGIO ed ha come origine dati la Tab PERSONAGGI 
che contiene solo PIPPO e PLUTO
Ho una sottmaschera FUMETTO in cui c'è la combo. Nella combo scrivo 
TOPOLINO e seleziono il selettore "NUOVO RECORD"
Ora vorrei che espandendo la COmbo uscissero 3 valori cioè PIPPO, PLUTO 
(già presenti) e TOPOLINO (appena immesso).
Per far questo intercetto l'evento Me.NewRecord della Sottomaschera 
FUMETTO e scrivo nella tab PERSONAGGI il nuovo valore
If Me.NewRecord Then
CurrentDb.Execute "INSERT INTO PERSONAGGI (NOME) VALUES ('" & 
Me.COMBO.Value & "');"
End If
Il problema è però come far aggiornare la combo
Cosa devo usare e soprattutto dove lo devo usare? Ho provato in ordine 
sparso Me.Form.Refresh, Me.Form.Requery, Me.Combo.Requery ma senza 
risultato.
Mi sapete aiutare?
Grazie a tutti
Ciao
Marco
pisani.ma...@tiscali.it

 ha scritto nel messaggio
news:bvk226$94h$1...@lacerta.tiscalinet.it...

Prova a gestire l'evento "dopo inserimento" della sottomaschera, inserendo
il Requery della combo:
es.
Parent!nomeCasellaCombinata.Requery
Ciao.
--
Sergio MAZZA

Sergio MAZZA ha scritto:

Ho provato ma niente da fare.
Sulla tua espressione mi da errore 2465 "Impossibile trovare il campo 
'Combo' a cui si fa riferimento"
Ps. Perché PARENT?
Ciao
Marco

 Marco
Ciao.
--
Sergio MAZZA

 
[CUT]
Ho riprovato e non funziona.
Nome maschera principale: 			InserimentiManuali
Nome della combo che filtra la sottomaschera: 	CbxSelCliente
Nome della sottomaschera:	 		SottInserimentiManuali
Nome della Combo (in sott.) da aggiornarsi:	SelCodice
E se provassi a chiudere e riaprire la sottomaschera?
Ciao
Marco

 Marco
E il codice inserito nell'evento "dopo inserimento" della sottomaschera?
Ciao.
--
Sergio MAZZA

Sergio MAZZA ha scritto:

Parent!CbxSeCliente.Requery

Sergio MAZZA ha scritto:

sorry...
Parent!CbxSelCliente.Requery

 Parent!CbxSelCliente.Requery
Questa č la mia simulazione:
- maschera principale con casella combinata [CasellaCombinata2] (non filtra
la sottoscheda perché non credo sia quello il problema);
- sottomaschera semplice (2 controlli testo) che contiene, nell'evento "dopo
inserimento", Parent!CasellaCombinata2.Requery;
Ogni volta che inserisco un record nella sottomaschera la casella combinata
viene aggiornata.
(ho come un dejavu) Ma l'origine della casella combinata qual'é?
Ciao.
--
Sergio MAZZA

 
Aspetta che forse facciamo un pò di confusione.
Nella MASCHERA Principale esiste una Combo [CbxSelCliente] che ha il 
compito di fornire il filtro per la sottomaschera
Nella sottomaschera [SottInserimentiManuali] esiste una combo [SelCodic]
che io vorrei aggiornare ogni qualvolta che si aggiunge un nuovo record 
o un nuovo valore in [SelCodice].

 o un nuovo valore in [SelCodice].
Quindi, sempre utilizzando l'evento "dopo inserimento" della sottomaschera
aggiornerai la combo [SelCodic]:
es.
Me![SelCodic].Requery
Ciao.
P.S. Ora sembra essere tutto più chiaro...
--
Sergio MAZZA

 
RISOLTO
Il problema era che quando andavo ad inserire il nuovo valore in 
tabella, questo era già stato cancellato dal controllo che aveva valore 
null.
Quindi ho creato una variabile globale NuovoCodice in cui memorizzo il 
valore del codice prima dell'immissione e poi eseguo l'inserimento in 
tabella.
Sull'evento  Form_AfterInsert() ho messo poi il seguente codice
Parent!CbxSelCliente.Requery
Me.Codice.Requery
E funziona.
Grazie mille Sergio
Alla prossima
Ciao