Principales respuestas
problema con cuadro combinado en formulario access 2007

Pregunta
-
He puesto un cuadro combinado en un formulario. Los valores del cuadro los he escrito yo en el asistente y debería guardar el valor seleccionado en una tabla. El caso es que al abrir el cuadro combinado, me aparecen los valores que he puesto pero no me deja seleccionar ningun valor. Al interntar seleccionar, me aparece el siguiente error "no se puede actualizar este recordset".
Como puedo hacer que funcione??
Gracias
Respuestas
-
Hola
Esa es la razón por la que no puedes guardar los cambios. Deberías crear un orgen de datos actualizable: cada tabla con su clave primaria, y no hacer operaciones de agrupación.
Salu2,
José Mª Fueyo [MS MVP Access]- Marcado como respuesta rafa_c miércoles, 8 de febrero de 2012 20:01
-
En principio, las consultas de uno a varios no son actualizables.
En la práctica, casi no hay ninguna consulta de uno a varios que no se pueda sustituir por una combinación de cuadros combinados y subformulario/s en un formulario basado en una única tabla.
En resumen, en una consulta de uno a varios, utilizas el lado de varios para dos cosas: 1- obtener el valor de un campo de otra tabla, por ejemplo, el nombre del cliente a través del idCliente, lo que se puede sustituir por un cuadro combinado. 2- Obtener todos los registros, editables, de una tabla o consulta relacionada a través de un campo en común, por ejemplo, las ventas a través del campo idCliente, lo cual se puede sustituir por un subformulario.
O sea, que la idea es que un formulario tenga por origen una tabla o, en todo caso, una consulta que filtre o selecciones campos de una única tabla y que las relaciones con otras tablas o consultas se realicen a través de cuadros combinados o subformularios.
Saludos José Bengoechea Ibaceta- Marcado como respuesta rafa_c miércoles, 8 de febrero de 2012 20:01
Todas las respuestas
-
-
Hola Jose Mª!
Gracias por contestarme.
En "origjne del control" tengo puesto el nombre del campo donde quiero almacenar el valor del combo.
Los registros origen del formulario son el resultado de combinar 2 consultas.
He intentado modificar algun dato del origen de datos pero no me lo permite.
Como podría solucionarlo??
Gracias!
-
Hola
Esa es la razón por la que no puedes guardar los cambios. Deberías crear un orgen de datos actualizable: cada tabla con su clave primaria, y no hacer operaciones de agrupación.
Salu2,
José Mª Fueyo [MS MVP Access]- Marcado como respuesta rafa_c miércoles, 8 de febrero de 2012 20:01
-
Hola Jose Mª!
Después de probar a poner claves primarias en las distintas tablas y establecer sus relaciones, no he podido hacer que funcione, así que te describo la estructura de la consulta base del formulario por si me puedes orientar.
El formulario se basa en una consulta formada por una tabla y una consulta
la tabla tiene un campo "ID" definido como clave principal que se utliza para vincular con un subformulario
la tabla y la consulta se relacionan por el campo "usuario"
la consulta esta formada a su vez por otra consulta y una tabla
la tabla tiene una clave principal definida en el campo "num_centro"
La consulta y la tabla se relacionan por este campo
la consulta esta formada por 2 tablas
una tiene definida una PrimaryKey "tipo_usuario"
la otra no tiene ninguna clave primaria y ambas se relacionan por el camp "NIF"
Espero que te puedas hacer una idea de la estructura.
Gracias por tu ayuda
-
En principio, las consultas de uno a varios no son actualizables.
En la práctica, casi no hay ninguna consulta de uno a varios que no se pueda sustituir por una combinación de cuadros combinados y subformulario/s en un formulario basado en una única tabla.
En resumen, en una consulta de uno a varios, utilizas el lado de varios para dos cosas: 1- obtener el valor de un campo de otra tabla, por ejemplo, el nombre del cliente a través del idCliente, lo que se puede sustituir por un cuadro combinado. 2- Obtener todos los registros, editables, de una tabla o consulta relacionada a través de un campo en común, por ejemplo, las ventas a través del campo idCliente, lo cual se puede sustituir por un subformulario.
O sea, que la idea es que un formulario tenga por origen una tabla o, en todo caso, una consulta que filtre o selecciones campos de una única tabla y que las relaciones con otras tablas o consultas se realicen a través de cuadros combinados o subformularios.
Saludos José Bengoechea Ibaceta- Marcado como respuesta rafa_c miércoles, 8 de febrero de 2012 20:01