Newsgroup: it.comp.appl.access
Titolo: funzione NotInList in subform

Ciao a tutto il NG, non riescoa a risolvere un problema, ovvero
in una sottomaschera ho una combobox con dei valori, alla combo ho
associato l'envento NotInList per fare in modo di aggiungere valori
non presenti nell'elenco, purtroppo il tutto non funziona, vi posto
anche il codice:
Private Sub motivo_NotInList(NewData As String, Response As Integer)
  Dim IntNuovo As Integer
  IntNuovo = MsgBox(NewData & vbNewLine & "Vuoi inserirlo ?", vbYesNo
+ vbQuestion, "Motivo digitato non in elenco")
  If IntNuovo = vbYes Then
     Dim rst As Recordset
     Set rst = CurrentDb.OpenRecordset("tbl_motivo_straordinario")
     rst.AddNew
     Me![motivo] = rst![motivo]
     rst.Update
     rst.Close
     Set rst = Nothing
     Response = acDataErrAdded
     Me![motivo].Requery
  Else
      IntNuovo = MsgBox(NewData & " non è in elenco." & vbCrLf &
"Seleziona un motivo dall'elenco", vbOKOnly + vbExclamation, "Motivo
errato")
      Response = acDataErrContinue
      Me![motivo].Undo
  End If
End Sub
dove sbaglio?

 dove sbaglio?
-- 
Ciao
Geppo 

>   End If
        MsgBox "La voce e' stata inserita correttamente", vbInformation, 
"Attenzione....."
        Response = acDataErrContinue



Non succede niente lo stesso, infatti anche se il campo combobox viene
aggiornato, il nuovo valore non viene inserito nella relativa tabella
che da origine al combobox, inoltre al tentativo di modificare i
valori della combobox non viene visualizzato alcun messaggio, cosa che
invece deve avvenire in quanto ho inserito il messaggio di richiesta



Ma nelle proprietà della Combo hai impostato a SI la voce "Solo in Elenco"?
-- 
Ciao
Geppo 

On 6 Gen, 23:42, "geppo" <c...@tin.it.invalid> wrote:

Non succede niente lo stesso, infatti anche se il campo combobox viene
aggiornato, il nuovo valore non viene inserito nella relativa tabella
che da origine al combobox, inoltre al tentativo di modificare i
valori della combobox non viene visualizzato alcun messaggio, cosa che
invece deve avvenire in quanto ho inserito il messaggio di richiesta
IntNuovo = MsgBox(NewData & " non è in elenco." & vbCrLf &



certo


Il messaggio viene visualizzato solo se i dati che stiamo inserendo non 
esistono fra quelli elencati nella combo.
Dunque:
'========================================================================================
Dim IntNuovo As Integer
IntNuovo = MsgBox(NewData & vbNewLine & "Vuoi inserirlo ?", vbYesNo + 
vbQuestion, "Motivo digitato non in elenco")
  If IntNuovo = vbYes Then
     Dim miorst As Recordset
     Set miorst = CurrentDb.OpenRecordset("tbl_motivo_straordinario")
     miorst.AddNew
     miorst!MOTIVO = NewData
     Me![MOTIVO] = miorst![id]
     miorst.Update
     miorst.Close
     Set miorst = Nothing
     Response = acDataErrAdded
     Me![MOTIVO1].Requery
  Else
      IntNuovo = MsgBox(NewData & " non è in elenco." & vbCrLf & "Seleziona 
un motivo dall'elenco", vbOKOnly + vbExclamation, "Motivo errato ")
      Response = acDataErrContinue
      Me![MOTIVO1].Undo
  End If
  MsgBox "La voce e' stata inserita correttamente", vbInformation, 
"Attenzione....."
  Response = acDataErrContinue
'===========================================================================================
proprietà combo:
Solo in Elenco = SI
Origine Controllo = nulla
Tipo Origine Righa = Tabella/query
Origine Riga = tbl_motivo_straordinario
Numero Colonne = 2
Larghezza Colonne = 0 cm;2 cm
Colonna Associata = 1
-- 
Ciao
Geppo 

 dove sbaglio?
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access

 dove sbaglio?
Ma una cosa del genere pensi possa andare?
Private Sub Argomento_NotInList(NewData As String, Response As Integer)
Dim rs As Variant
     If MsgBox("Inserire nuovo argomento?", vbYesNo + vbQuestion + 
vbDefaultButton2) = vbYes Then
         DoCmd.RunSQL "insert into Argomenti (DescArg) values('" & 
NewData & "')"
         Argomento = NewData
         Argomento.Requery
         cbArgomento.Requery
     End If
     Response = acDataErrContinue
End Sub
-- 
ac
y-1=x

         cbArgomento.Requery
Questa non serve
-- 
ac
y-1=x