En algunas ocasiones me ha sucedido que después de insertar un subformulario en un formulario ( sus tablas respectivas tienen una relación de uno a varios) al intentar escribir en un campo me sale el mensaje "Esta propiedad es de solo lectura". Después de pulsar Aceptar puedo escribir en el campo y los datos quedan perfectamente registrados. ¿Alguien me podría indicar a qué se debe este mensaje?
Hay relaciones que las crea automáticamente el Access, por ejemplo, al utilizar asistentes de consultas y formularios. Ese mensaje puede salir por varias razones, pudiera ser, por ejemplo, que sólo te aparezca la primera vez que está vacía la tabla del subformulario. Puede que en este caso esté basado en una consulta, si lo haces directamente de una tabla, no te lo haría. También puedes utilizar esta propiedad del formulario: Propiedad ContieneDatos (HasData) La propiedad ContieneDatos (HasData) se puede utilizar para determinar si un formulario o informe es dependiente de un recordset en blanco. Long de Lectura/Escritura. Expresión. ContieneDatos (HasData) Expresión Requerida. Una expresión que devuelve uno de los objetos de la lista Aplicar a. Comentarios La propiedad ContieneDatos (HasData)se establece en Microsoft Access. El valor de esta propiedad puede ser de sólo lectura mientras se imprime o mientras esté en Vista preliminar. Valor (Value) Descripción -1 El objeto tiene datos. 0 El objeto no tiene datos. 1 El objeto es independiente. El valor de la propiedad ContieneDatos (HasData) se puede obtener usando una macro o Visual Basic Puede utilizar esta propiedad para determinar si ocultar un subinforme que no tenga datos. Por ejemplo, la siguiente expresión oculta el control del subinforme cuando su informe no tiene datos. Me!SubReportControl.Visible = Me!SubReportControl.Report.HasData