Problema con evento "non in elenco" di casella combo box

di il
2 risposte

Problema con evento "non in elenco" di casella combo box

Parlando del "Database collezione Dischi" che sto creando, anche grazie al vostro aiuto, mi trovo di fronte a questo problema:

ho una maschera che ho costruito partendo da una query che coinvolge dati da 4 tabelle diverse:

tbl000Entità, tbl000Titoli, tbl001ElemDiscografia e tbl002Album dove:

tbl001ElemDiscografia è una tabella unione che crea una relazione molti a molti tra tbl000Entità e tbl000Titoli ed è anche in relazione 1 a molti con tbl002Album.

Il campo "cboNomeVisualizzato" è una combobox legata ad un campo della tabella tbl000Entità
Il campo "cboTitolo" è una combobox legata ad un campo della tabella tbl000Titoli

Ora la cosa strana è che, impostando gli eventi "Non in Elenco" di queste due combobox, quando vado a testarne il funzionamento, il codice relativo a "cboNomeVisualizzato" funziona correttamente, mentre il codice relativo a "cboTitolo" inserisce il titolo, ma risponde con il popup di errore che capita quando il record non viene inserito.

Riporto di seguito i due codici:

"cboNomeVisualizzato"


Private Sub cboNomeVisualizzato_NotInList(NewData As String, Response As Integer)

Response = acDataErrContinue

Dim IntRisposta As Integer

IntRisposta = MsgBox(" Vuoi inserire " & vbLf & NewData & vbLf & "come nuovo artista solista / gruppo?", vbInformation + vbYesNo)
If IntRisposta = vbYes Then
Dim strSQL As String
Dim Categoria As Integer
Dim Tipo As Integer

Categoria = 2
Select Case optbTipoArtista
Case 1
Tipo = 2
Case 2
Tipo = 3
End Select

strSQL = "INSERT INTO tbl000Entità(CatEnt,TipoEnt,NomeVisualizzato) VALUES (""" & Categoria & """,""" & Tipo & """,""" & NewData & """)"
CurrentDb.Execute strSQL

Response = acDataErrAdded
Else
Response = acDataErrDisplay
End If

End Sub


codice "cboTitolo"

Private Sub cboTitolo_NotInList(NewData As String, Response As Integer)

Response = acDataErrContinue

Dim IntRisposta As Integer

IntRisposta = MsgBox(" Vuoi inserire " & vbLf & NewData & vbLf & "come nuovo titolo?", vbInformation + vbYesNo)
If IntRisposta = vbYes Then
Dim strSQL As String
Dim Tipo As Integer

Tipo = 1

strSQL = "INSERT INTO tbl000Titoli(Titolo,TipoTitolo) VALUES (""" & NewData & """,""" & Tipo & """)"
CurrentDb.Execute strSQL

Response = acDataErrAdded
Else
Response = acDataErrDisplay
End If

End Sub

Sinceramente non riesco a vedere dove sia l'errore.

Potete aiutarmi?

Grazie

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte