Se il tableadapter è stato generato dal wizard con tutta probabilità la table presente nel database non ha una chiave primaria univoca (il dataadapter deve essere in grado di restituire, ad ogni esecuzione del command numero righe aggiornate = 1)
Questo potrebbe succedere anche con select "miste" che congengono cioè estrazioni da più tabelle contemporaneamente, come le select join.
Se invece il dataadapter è stato generato da codice, perchè riesca ad aggiornare è necessario generare i 3 command (update, delete insert) questo lo puoi fare manualmente, inserendo il codice per i comandi insert, update, delete (e i relativi parametri) oppure automaticamente tramite l'utilizzo di un commandbuilder.
Esempio:
Dim da As New OleDbDataAdapter("SELECT * from mytable",myconnection)
Dim cm As New OleDbCommandBuilder(da)