Newsgroup: it.comp.appl.access
Titolo: Refresh Dati

Ho questo problema.
Nella maschera clienti ho una combobox che mi elenca le città (dei miei
clienti).
Facendo doppio clic sulla combobox si apre la maschera che mi permette di
caricare (o variare) ulteriori città.
Dopo aver aggiunto una città chiudo questa maschera e torno alla maschera
clienti (che era "sotto").
Come devo fare affinché nella combobox appaia anche il record appena
aggiunto?
Io riesco a fare il "refresh" della combo solo se clicco su un altro campo e
poi torno alla combo con il seguente codice sull'evento "su attivato" della
combo "Città":
Private Sub Città_GotFocus()
On Error GoTo Err_Città_GotFocus
    DoCmd.RunCommand acCmdRefresh
Exit_Città_GotFocus:
    Exit Sub
Err_Città_GotFocus:
    MsgBox Err.Description
    Resume Exit_Città_GotFocus
End Sub
Mi aiutate per favore?
Grazie, PEO

 aggiunto?
Immagino che userai un pulsante per conferma dell'inserimento della nuova
città nella seconda maschera. Sul clic di questo pulsante scriverai
forms("form principale").controllocombo.requery
forms("form principale").controllocombo = città
dove città è il nome del controllo dove scrivi la città nella seconda
maschera
Antonio

 ha scritto nel messaggio
news:LZc_7.19442$%B.67...@twister2.libero.it...

Ciao Antonio, intanto grazie però l'inserimento della nuova città non è
subordinato a nessun pulsante, l'utente carica il record e basta.
Poi clicca su un pulsante di chiusura maschera (cmdChiudi) e si ritrova
nella maschera clienti sulla combo della scelta città.
Io usavo "su attivato" perchè pensavo che chiudendosi la maschera città il
focus tornasse sulla combo...
Altre idee?
PEO
www.studiopasquali.it

 ha scritto nel messaggio
news:3c39...@news.omniway.sm...

Personalmente uso questo metodo:
Nella maschera da richiamare dichiaro a livello di modulo una variabile
pubblica di tipo control
ad esempio:
Public Ctl as control
poi della maschera che la richiama, imposto tale variabile oggetto come la
casella
combinata che mi interessa:
docmd.openform nomeForm
set Forms(NomeForm).ctl =me.casellacombinata
in questo modo si può, dalla maschera chiamata, eseguire il requery della
casella combinata (sull'evento chiusura, o dopoaggiornamento):
if not ctl is nothing then ctl.requery
ciao


Ok, allora quel codice scrivilo sull'evento su chiusura della form
Antonio

 ha scritto nel messaggio
news:PBg_7.19706$%B.68...@twister2.libero.it...

No, sarebbe troppo facile (e sbagliato). Quella form può essere raggiunta da
varie maschere.
Devo agire quando sono nella maschera dei clienti, più precisamente sulla
combo Città (altrimenti potrei rallentare inutilmente il programma: finchè
qualcuno non apre la lista della combo, non serve che venga aggiornata).
Quale evento devo usare sulla combo Città?
Ciao e grazie di nuovo
PEO
www.studiopasquali.it

 qualcuno non apre la lista della combo, non serve che venga aggiornata).
Non si fa così, si fa la requery quando i dati sono cambiati
Per il problema della maschera chiamante risolvi passando come openargs alla
seconda maschera il nome della maschera chiamante. Poi farai
forms(openargs).controllocombo.requery
forms(openargs).controllocombo = città
Antonio


wrote:

al limite puoi usare un IF THEN per far girare il tutto solo sulla
maschera che ti interessa...
Saluti.
Emanuele.