Miei cari, salve,
Conosco bene questo messaggio di errore in quanto viene segnalato tutte le volte che la proprietà " Solo in Elenco" di una CasellaCombinata è settata a "Si" e si tenta di modificare o allungare la drop-list.
Pur lasciando la proprietà a "Si" ho cercato di raggirare l'ostacolo testando l'Evento "Su non in elenco" e srivendo un pò di codice.
Se ad esempio voglio
Aggiungere un record,
Private Sub Testo29_NotInList(NewData As String, Response As Integer)
If MsgBox("Modificare un nuovo record ?" & Chr(13), _
vbCritical + vbYesNo, " ") = vbYes Then
Me.nomecampo = NewData
DoCmd.RunCommand acCmdRefresh
End If
Response = 0
End Sub
Per
Modificare una voce invece, ed avere lo stesso risultato, sono dovuto ricorrere all'apertura del file con DB.OpenRecordset(strSQL, dbOpenDynaset) e modificare il record.
Dopo l'inserimento/modifica del nuovo dato e dopo la Routine Evento, mi sono ritrovato il nuovo dato nella drop-list;
Per quanto riguarda la condizione di "Aggiungere" una voce, non ho avuto problema:
dopo una conferma col click sul mio testo appena digitato, mi lascia subito uscire dal campo.
La stessa cosa non accade invece se
modifico il dato (p.e. una stringa).
Mi ritrovo in un loop mieloso che mi rimpalla fra la mia casellacombinata e la Routine Evento che si interrompe solo se scendo nella drop-list, vado sul dato modificato (che è presente) e gli clicco sopra.
Questo impastamento, per chi non sa uscirne, è un pò imbarazzante.
E' possibile che manchi ancora qualche istruzione a completamento, ma io non la conosco.
Mi può aiutare qualcuno?
salute
antonio cuomo