Imprimir página | Cerrar ventana

Asignar recordset ado a subformulario

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86833
Fecha de impresión: 27/Marzo/2026 a las 02:20


Tema: Asignar recordset ado a subformulario
Publicado por: Joseerg
Asunto: Asignar recordset ado a subformulario
Fecha de publicación: 27/Diciembre/2023 a las 13:39
Buenas tardes,

He estado buscando y no he conseguido dar con la tecla, no uso mucho access y quizás ni sea pueda hacer lo que quiero, pero yo estoy interpretando e intentando "rellenar" un subformulario de forma similar a como lo haría si fuese un datagridview de c# que es a lo que estoy acostumbrado

Os cuento es una aplicación departamental que trabaja sobre una base mysql y estoy trabajando con ADO, bien, tengo varios subformularios, y he intentado asignarle un recordset al subformulario y funciona bien, es decir me muestra la información, el problema es que luego no me deja ni editar ni insertar valores en el subformulario, me indica que es solo lectura. Creo que los parámetros del recordset están bien definidos y los del subformulario también; permite ediciones, agregar registros... De hecho si me deja escribir en el antes de ejecutar el código pero ya después nada. Os pongo un código sencillo que he hecho en local pero que al fin y al cabo es lo mismo

Dim consulta As String
Dim cn As New ADODB.Connection
Dim rs As ADODB.Recordset

consulta = "SELECT * FROM Tabla1;"

Set cn = CurrentProject.AccessConnection
Set rs = New ADODB.Recordset

rs.Open consulta, cn, adOpenKeyset, adLockOptimistic

Set Me.Subformulario.Form.Recordset = rs

La otra opción que he probado es traerme los valores e insertarlos directamente en la tabla que se basa el subformulario y actualizarlo y así funciona sin problema pero no me convence

Ya me decís que puede ser o si simplemente es un error de concepto y no se puede hacer lo que quiero


Muchas gracias de antemano



Imprimir página | Cerrar ventana