Ciao a tutti, questo è il mio primo messaggio in questo forum. Sto cercando di lavorare in un mio progetto VB.NET 2010 Express con un database di MS Access. Sono riuscito a fare tutto quello che mi interessava tranne ad eliminare i record dal database. In effetti apparentemente se elimino un record questo viene rimosso dal database, ma quando vado a chiudere il programma e succesivamente a riavviarlo ecco che il record ritorna. Per quanto ne ho capito l'eliminazione avviene sul dataset "MioDataSet" ma poi non viene riportata sul database originale malgrado io abbia usato il metodo "update".

Ecco quello che ho fatto in sintesi, queste le dichiarazioni:

codice:
Private MiaConnection As New OleDb.OleDbConnection
Private MioDataSet As New DataSet
Private MioDataAdapter As OleDb.OleDbDataAdapter
Private MioIndex As Integer = 0
Questo è quello che faccio all'avvio del programma:

codice:
Private Sub FormMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    MiaConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""PrimaProva.accdb"""
    MiaConnection.Open()
    MioDataAdapter = New OleDb.OleDbDataAdapter("SELECT* FROM PrimaTabella", MiaConnection)
    MioDataAdapter.Fill(MioDataSet, "NomeQualunque")
    MiaConnection.Close()
End Sub
Questo, ad esempio, per modificare un record (e funziona):
codice:
    Private Sub ButtonUpdate_Click(sender As System.Object, e As System.EventArgs) Handles ButtonUpdate.Click
        MioDataSet.Tables("NomeQualunque").Rows(MioIndex).Item("Nome") = TextBoxNome.Text
        MioDataSet.Tables("NomeQualunque").Rows(MioIndex).Item("Cognome") = TextBoxCognome.Text
        Dim MioCommandBuilder As New OleDb.OleDbCommandBuilder(MioDataAdapter)
        MioDataAdapter.Update(MioDataSet, "NomeQualunque")
    End Sub
Questo invece per eliminare un record. Come ho detto sembra funzionare, ma non elimina il record dal file originale e quindi questo ricompare al successivo avvio del programma:

codice:
    Private Sub ButtonDelete_Click(sender As System.Object, e As System.EventArgs) Handles ButtonDelete.Click
        MioDataSet.Tables("NomeQualunque").Rows(MioIndex).Delete()
        MioDataSet.Tables("NomeQualunque").AcceptChanges()
        Dim MioCommandBuilder As New OleDb.OleDbCommandBuilder(MioDataAdapter)
        MioDataAdapter.Update(MioDataSet, "NomeQualunque")
    End Sub
Dove sto sbagliando a vostro avviso?