Luego del codigo del load puedes colocar lo siguiente que creo es la mejor manera de hacerlo ya que asocias la caja de texto al recorset así como al registro correspondiente, entonces tu code quedaría así:
Código vb:
Ver originalDim cn As ADODB.Connection
Dim res As ADODB.Recordset
Dim conexion As String
Private Sub Form_Load()
Set cn = New ADODB.Connection
conexion = "driver={MySQL ODBC 3.51 Driver};" _
& "SERVER=localhost;" _
& "DATABASE=sms;" _
& "UID=root;PWD=123456;OPTION=3"
cn.ConnectionString = conexion
cn.Open
Set res = New ADODB.Recordset
With res
.ActiveConnection = cn
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
End With
res.Open "SELECT id, tlf, msj, stad FROM send WHERE stad=0"
Set DataGrid1.DataSource = res
Set Label1.DataSource = res
Label1.DataField = "id"
Set Text1.DataSource = res
Text1.DataField = "tlf"
Set Text2.DataSource = res
Text2.DataField = "msj"
Set Check1.DataSource = res
Check1.DataField = "stad"
End Sub
Y con los botones de navegación que has hecho, notarás que solo necesitas realizar el res.movenext o res.moveprevious y solo cambia el valor del control, ya sea el label, caja de texto o el check. Pruebalo y comentas los resultados