Demaciado codigo para leer, al menos utiliza la etiqueta CODE para que sea mas facil leer!
El problema esta en que al llegar a ese punto o al ejecutar esa parte del codigo el registro ya no esta disponible osea lo eliminaste, modificaste o quiza ya se haya descargado el recordset por lo tanto no tienes acceso a él en poca palabras esta vacio, espero no equivocarme.
No recuerdo ahora pero creo que la solucion es utilizando el EOF y BOF del recordset:
Código:
With rst
If .EOF And .BOF Then
lblData.Caption = "No hay ningún registro activo"
.MoveFirst
Else
Text1(0) = .Fields("Au_ID")
' Por si el dato es nulo, añadirle una cadena vacia
Text1(1) = .Fields("Author") & ""
Text1(2) = .Fields("Year Born") & ""
End If
End With
La idea es jugar con el EOF y BOF para que no te salga el error no tengo nada a la mano pero te dejo algo para que busques y/o adaptes
Código:
With rs
If Not .BOF Then 'Si no esta al inicio
.MoveFirst 'nos movemos al primer registro
If .EOF = False Then 'Si llega al final y encuetra algo
End If
End If
End With
Tambien podria ser asi
Código:
If Rst.RecordCount = 0
'no hay registros, enviar un mensaje
Else
'sí encontró uno o más registros, realizar tareas con ellos
End If