Ciao a tutti. Vi sottopongo oggi uno strano problema a cui sto tentando di dare una soluzione da ieri.

Ho creato una form per l'inserimento di dati in un database. Tra i vari dati da inserire c'è il CAP che però permetto all'utente di sceglierlo tramite una combobox che pesca i dati da una tabella nel database. Ora, questa tabella contiene tutti i comuni italiani e i rispettivi CAP, però può capitare che a volte l'utente necessiti di utilizzare una località estera con il rispettivo ZIP oppure di inserire un ulteriore CAP (si pensi a quelle città suddivise in zone per cui ogni zona ha un suo CAP, ad esempio Torino, Roma, Milano, ecc...), per cui bisognerà salvare un nuovo record con la località ed il nuovo CAP. Ora, io vorrei che l'elenco da cui l'utente seleziona la località (la combobox) e tramite il quale viene impostato il CAP relativo venga aggiornato subito non appena il nuovo record viene inserito. L'aggiornamento mi viene fatto in tempo reale se inserisco una nuova località (scrivendola nella textbox della combobox) con il rispettivo CAP (che viene scritto in una apposita textbox), infatti mi ritrovo subito la nuova località e se cambio località e la reimposto successivamente mi viene utilizzato il CAP relativo in modo corretto, quindi significa che i dati li prende dal database. Se invece inserisco solo un ulteriore CAP (quindi senza andare a digitare nella combobox) il record mi viene aggiunto ma l'elenco non viene aggiornato fino al successivo riavvio dell'applicazione. Questo non lo riesco a comprendere, utilizzo lo stesso metodo per entrambi gli aggiornamenti. Uso un Database Access 2000 e mi connetto al database utilizzando ADO

Questo è il codice che utilizzo per effettuare l'aggiunta dei record

codice:
If newTown Then
    strSQL = "INSERT INTO CAP (Località, CAP) VALUES " & _
	     "('" & cmbCittà.Text & "', '" & txtCAP.Text & "')"
    mainDM.ADO_connection.Execute strSQL, recordsAffected
    elencoCittà.Requery
    If recordsAffected > 0 Then
         newTown = False
         MsgBox "La nuova località è stata inserita nel database", _
		vbInformation, "Gestione preventivi"
       Else
         MsgBox "Impossibile aggiungere il record", vbCritical, _
		"Gestione preventivi"
    End If
 Else
    If addZIP Then
       If (ZIP <> txtCAP.Text) Then
         If MsgBox("Aggiungere il nuovo CAP/ZIP code alla " & _
	    "tabella come ulteriore opzione per la località " & cmbCittà.Text & "?", _
	    vbQuestion + vbYesNo, "Gestione preventivi") = vbYes Then
            'aggiunge la stessa città, ma con CAP aggiuntivo
                 With elencoCittà
                      .Move cmbCittà.ListIndex, 1
                      città = .Fields("Località")
                      provincia = .Fields("Provincia")
                 End With
                    
                 strSQL = "INSERT INTO CAP(Provincia, Località, CAP) " & _
                 VALUES('" & provincia & "', '" & città & "', " & _
                        "'" & txtCAP.Text & "')"
                 mainDM.ADO_connection.Execute strSQL, recordsAffected
                 elencoCittà.Requery
                 If recordsAffected > 0 Then
                    MsgBox "Il nuovo CAP per " & città & " è stato " & _
                           "inserito nel database", _
   			   vbInformation, "Gestione preventivi"
                    Else
                        MsgBox "Impossibile aggiungere il record", _
                            vbCritical, "Gestione preventivi"
                  End If
             Else
                  MsgBox "Il CAP/ZIP code immesso non verrà preso " & _
                        "in considerazione!", _
			vbInformation, "Gestione preventivi"
                End If
            End If
        End If
End If
Se qualcuno mi potesse aiutare ad evitare questo fastidioso inconveniente gliene sarei davvero grato.