Tambien para mi gusto sería mas fácil declara una variable de tipo currency manager para navenagar por lo registros y con ello no tienes que estar haciendo referencia a cada momento al dataset.
Por ejemplo...declaras.
Private cmCustomers As CurrencyManager
ahora.. en tu form:
Cita: Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet
dAdap.Fill(ds)
Dim dtCUstomers As New DataTable
dtCUstomers = ds.Tables(0)
txtCompanyName.DataBindings.Add( _
"Text", dtCUstomers, "CompanyName")
cmCustomers = CType(Me.BindingContext( _
dtCUstomers),
CurrencyManager )
cmCustomers.Position = 0
'lo inicializas en cero...
End Sub
Ahora en tus botones...(move last, next, previous, etc..) podrías quedar así.
btn
MoveLast _Click
cmCustomers .Position = cmCustomers.Count - 1
btn
MoveNext _Click
If cmCustomers.Position <> cmCustomers.Count - 1 Then
cmCustomers.Position += 1
End If
Ponemos un If para que no vayamos a tener error:
btn
MoveFirst _Click
cmCustomers.Position = 0
btn
MovePrevious _Click
If cmCustomers.Position <> 0 Then
cmCustomers.Position -= 1
End If
Y listo... te podrás mover como quieras por tu cuadro de texto.
Saludos y suerte