Donde tengo el error acces

Primer pregunta que posteo en este foro me podrian orientar que es lo que tengo mal porque no me puedo mover al siguiente registroo..

El erro que me sale es el siguinte

Run-time error '91' (Object variable or With block variable not set)

4 Respuestas

Respuesta
1
Option Compare Database
Option Explicit
Private rsDatos As DAO.Recordset  
Ya lo realize y me sigue saliendo el mismo error
Respuesta
1

Primero cargue los datos y después haga el desplazamiento algo como

Call CargaDatos
RsDatos. MoveNext

Está llamando CargaDatos como si fuera una función y es un procedimiento.

Buen día master muchas gracias por contestar te lo agradezco y disculpa mi ignorancia ya lo puse así como me lo pediste.. y me brinca ahora el error en esta línea..

Le dejo el código completo ya probado en mi PC

Option Compare Database
Option Explicit
Dim rsDatos As Recordset
Sub CargarDatos()
   On Error Resume Next
   Me.id = Nz(rsDatos.Fields("NUMERO"))
   Me.NAMES = Nz(rsDatos.Fields("NOMBRE"))
End Sub
Private Sub btnSiguiente_Click()
 If Not rsDatos.EOF Then
   rsDatos.MoveNext
   Call CargarDatos
 End If
End Sub
Private Sub Form_Load()
  Set rsDatos = CurrentDb.OpenRecordset("SELECT * FROM ALUM", dbOpenDynaset)
  rsDatos.MoveFirst
  Call CargarDatos
End Sub

Observe que le faltaba el método Fields para hacer referencia al nombre del campo. Esta idea es  buena para trabajar con formularios independientes. En otra respuesta expuse como se puede utilizar una CLASE para esto.

Cambie este código ya que primero debe cargar los datos

Private Sub btnSiguiente_Click()
 If Not rsDatos.EOF Then
   Call CargarDatos
   rsDatos.MoveNext
 End If
End Sub

Buen día master lo voy a probar muchísimas gracias por su tiempo y dedicación y eso es mi objetivo trabajar con formularios desconectados .. saludos master desde alguna parte de mexico

Gracias master por la ayuda por fin funciono a hora me lo estudiare línea por línea para aprender.

Saludos desde alguna parte de mexico

Me alegro, esté pendiente en mi canal de YouTube que próximamente voy a presentar unos videos sobre el uso de clases para crear un CRUD con DAO, ADO y ADODB con Access y PostgreSQL en la nube, todo con formularios desvinculados, esto hará más fácil la manipulación de los datos.

Respuesta

Prueba con

Docmd. Gotorecord,, acnext

Respuesta

En la cabecera del modulo no se dimensionan variables como se hace en los procedimientos, se tienen que declarar indicado el tipo y si es privada o publica.

Option Compare Database
Option Explicit
Private rsDatos As DAO.Recordset

Antes de desplazarse a un registro, convendría saber si puede hacerlo (para no generar un error) como avanzar estando en el ultimo, retroceder estando en el primero o en tierra de nadie porque no hay registros.

Nota: exigir la declaración de variables (Option Explicit) solo aporta ventajas y fiabilidad.

Convendrá verificar que el recordset tiene datos y se cumplen las condiciones que indique en mi primera intervención.

Se debería compilar la base para que aparezcan los problemas que se puedan solucionar (errores de sintaxis, variables sin declarar ...) los que de en tiempo de ejecución ya se verán sus causas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas