Newsgroup: it.comp.appl.access
Titolo: Utilizzo di NotInList

Ho una bella casella combinata (xNominativo) con origine riga una "select
nominativi, id...". Nessun problema se non per il fatto che mi sono deciso
per utilizzare l'evento "NotInList" per dare la possibilità di inserire il
nominativo direttamente dalla casella di riepilogo. Seguendo le istruzioni
dell'help ho fatto così:
'-------------------------
Private Sub xNominativo_NotInList(NewData As String, Response As Integer)
If MsgBox("Nominativo non in elenco, vuoi inserirlo?", vbYesNo, "Inserimento
Nominativo") = vbYes Then
    Response = acDataErrAdded
    DoCmd.SetWarnings False
    DoCmd.RunSQL "INSERT INTO t_dipendenti ( Nominativo ) SELECT '" &
NewData & "' AS NuovoNominativo;"
    DoCmd.SetWarnings True
Else
    Response = acDataErrContinue
End If
End Sub
'-------------------------
Tutto ok se non per il fatto che il recordset della maschera non viene
aggiornato e mi ritrovo la casella di riepilogo e la tabella che contengono
l'inserimento effettuato mentre la maschera non lo vede.
Ho provato ad inserire dopo il docmd.setwarnings true un Me.Requery o
Refresh ma l'effetto è quello ciclare continuamente nella richiesta
dell'inserimento nominativo con il risultato (ovviamente) di riempire la
tabella con lo stesso nominativo appena inserito.
Lo stesso risultato lo ottengo con docmd.showallrecords mentre con:
Me.Filter = "" e Me.FilterOn = True non sorta fora nulla.
L'unica via che ho trovato è inserire, sempre dopo DoCmd.SetWarnings True un
SendKeys "%RI".
E' proprio l'unica via?
Ciao.

 ha scritto nel messaggio
news:8p8h5o$19v$1...@suite03.caspur.it...

Hai provato anziché Me.Requery con Me![NomeCasellaCombinata].Requery ??
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

 E' proprio l'unica via?
Non mi e' chiaro se la combo e' legata ad un campo o la usi solo per filtrare
il recordset della form?
-- 
Federico
--------------------------------------
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
mailto:
it_db_...@usa.net
--------------------------------------
Tutte le richieste che mi arrivano
in privato, vengono cestinate.
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------


La casella combinata si aggiorna benissimo con Response = acDataErrAdded; è
il recordset della maschera che non viene aggiornato se non facendo da menù
record - rimuovi filtro/ordina.
Solo per completare il quadro aggiungo che la casella combinata (non legata
a nessun campo) la utilizzo per inserire i nuovi nominativi e per "navigare"
nei record (me!id.setfocus: docmd.findrecord me!nomecasellacombinata)...
Ciao.

 --------------------------------------
La casella combinata (non legata a nessun campo) la utilizzo per inserire i


 Ciao.
Prova ad inserire un me.requery nell'evento DopoAggiornamento della combo,
prima del findfirst.
Se funziona, ti consiglio di usare un flag per evitare di eseguire un requery
tutte le volte che fai una selezione.


 --------------------------------------
Sì funziona e credo che sarò "costretto" ad utilizzare il tuo consiglio del
flag perché il me.dirty mi ritorna sempre falso.
Grazie ad entrambi.
Ciao.

 flag perché il me.dirty mi ritorna sempre falso.
sicuramente e' falso, visto che non e' in modifica :-)


 --------------------------------------
Già, questo spiegherebbe anche il perché non funziona il me.refresh!?
Ma non spiega (o forse non lo capisco io) perché con il menù: record -
rimuovi filtro/ordina riesco a vedere il record aggiunto. Come se sulla
maschera è applicato un filtro e il record appena aggiunto (nella tabella)
non corrisponde a quei criteri e quindi non "raggiungibile"... Mah!
Ciao.