Ciao ho un DB accesso 2003 e cerco di fare una applicazione per la manipolazione dei dati.
Il db è composta di 6 tabelle correlate tra loro direttamente in access.

Avvio la mia applicazione .net framework e appare una maschera iniziale la quale ha il compito di caricare nelle varie tabelle (tutto fatto con codice) tutti i dati dalla risorsa.
Le tabelle sono dichiarate in un modulo pubblico in modo che hanno un dominio al livello applicazione.
Terminato il caricamento, la form si chiude e si avvia la maschera principale, dalla quale posso accedere a tutte le altre form (per esempio quella per impostare e modificare gli utenti)
Quando avvio quella degli utenti (stesso discorso vale per tutte le altre) creo il bindingsource in modo che visualizzo le informazioni nei supporti piu idonei (textbox, maskedtextbox...) e lo faccio nel seguente modo:

'CREA UN BINDINGSOURCE
Dim Binding As BindingSource
Binding = New BindingSource
Binding.DataSource = TButenti

Try
Binding.MoveLast()
TextBox2.DataBindings.Add("Text", Binding, "loginutente")
MaskedTextBox1.DataBindings.Add("Text", Binding, "passutente")
TextBox4.DataBindings.Add("Text", Binding, "mailutente")
TextBox8.DataBindings.Add("Text", Binding, "indirizzoutente")
TextBox12.DataBindings.Add("Text", Binding, "telefonoutente")
Label1.DataBindings.Add("Text", Binding, "immagineutente")
NumericUpDown1.DataBindings.Add("Text", Binding, "sicurezzautente")
TextBox1.Text = Binding.Position + 1 & " / " & Binding.Count
Binding.ResetCurrentItem()
Catch
Exit Sub
End Try

tutto funziona correttamente, svolgo le operazioni di modifica, eliminazione e inserimento di nuove righe attraverso l'oggetto OleDbCommandBuilder

Dim objCommandBuilder As New OleDbCommandBuilder(OleDBAdapter)
OleDBAdapter.Update(TButenti)

il problema si crea quando chiudo il form utenti e poi vi rientro, l'associazione dei dati non funziona correttamente per esempio binding.moveprevius non fà salire di posizione l'origine e allo stesso modo non funzionano tutti i metodi per binding.

Sapete dirmi se:
1) così come è stata strutturata l'applicazione è ottimale o se ci sono metodi migliori di progettazione.
2) come posso risolvere il problema dell'associazione.

se avete altri consigli sono tutto orecchie