Call this my own little quirk but I like to check all three indicators when returning a recordset. (I also for readability like to do it long handed.)
If rs.RecordCount <> 0 And Rs.Bof = False And Rs.Eof = False Then
TxtPosition.Text = rs.Fields("Position").Value
Else
TxtPosition.Text = vbNullString
End If
Don't know if changing that will work for you but go ahead and give it a try.
Good Luck