Mostrar datos en un formulario Hoja de datos con un Recordset

Me encuentro programando con Access y VBA.

Estoy utilizando un formulario en vista Hoja de Datos, este formulario tiene 3 cajas de texto donde intento mostrar los datos (id, nombre y apellido) de la tabla a través del Recordset.

Este es un ejemplo de mi tabla:

Tabla: Alumnos
ID Nombre Apellido

1 Juan Rodriguez
2 Laura Sanchez
3 Jose Juárez
4 Pedro Zuñiga
5 Denis Mera

El problema es que el en el formulario los datos se muestran de la siguiente manera

Estoy utilizando el siguiente código para mostrar los datos:

   With alumnoRS
        .Source = "Alumnos"
        .CursorType = adOpenKeyset
        .LockType = adLockOptimistic
        .Open "SELECT * FROM Alumnos", conexionBD
    End With
    While alumnoRS.EOF = False
        Form_F_ALUMNOS.txtID.Value = alumnoRS.Fields("id_alumno")
        Form_F_ALUMNOS.txtNombre.Value = alumnoRS.Fields("nombre")
        Form_F_ALUMNOS.txtApellido.Value = alumnoRS.Fields("apellido")
        AlumnoRS. MoveNext
    Wend
Respuesta
2

Eso te sucede porque los cuadros de texto no tienen origen del control. Por eso la instrucción es "la misma" para todos. Ponle a los cuadros de texto, en su propiedades-datos-origen del control algún campo.

Que tal gracias por la respuesta

Es algo así como un:

Form.Recordsource = recordset

Lo intenté pero no logré hacerlo funcionar

Saludos

Prueba con poner, en el origen de control de cada cuadro de texto Id, Nombre y Apellido y luego en cualquier evento, por ejemplo, en el evento Al cargar del formulario pon

form.recordsource="select * from alumnos"

O sea, que el origen de registros del formulario sean los registros de la tabla alumnos, y como los campos se llaman igual ya coge los valores.

En caso de que quisieras que sólo fueran algunos registros en particular

form.recordsource="select * from Alumnos where ......."

1 respuesta más de otro experto

Respuesta
1

José: ¿Hay alguna razón por la que no lepongas al Subformulario directamente la Tabla Alumnos como Origen de Datos?

Creo que intentas dar un rodeo inncesario. No he reparado en si tu código es correcto o no.

Mis saludos >> Jacinto

Gracias por la respuesta

Es una buena observación, sin embargo este subformulario puede mostrar todos los registros o solo algunos registros que coincidan con una búsqueda.

Por esa razón necesito que se muestren los datos de un recordset en esta hoja de datos.

Saludos

José: Si lo necesitas así, yo no te convenceré de lo contrario. Pero el aplicar un Filtro para obtener una parte de los registros, puedes hacerlo sin que el Origen de Datos sea código. Solo es una observación. Mis saludos >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas