Error al actualizar el registro actual en consulta en Base

Gracias por vuestra ayuda.
Estoy trabajando en una base de datos para un conjunto de ferias.Explico solo la parte necesaria para no ser tan largo. Cada feria tiene una cantidad de puestos. Uso como tabla principal la de puestos, luego otra tabla que le he puesto UP (unidad productiva, por ponerle algo) a través de la cual vincular cada puesto con las o las personas que lo ocupan (permisionarios) y el o los rubros de la mercaderia que en ese puesto se vende.
La tabla de UPs tiene un campo para indicar el rubro (RubroID) que relaciona de muchos a uno con la clave principal de la tabla de Rubros (RubroID) Esa relación está configurada “modificar en cascada” pero… cargué algunos registros directamente en la tabla de UPs y ahora armé una consulta para modificarlos y cargar el resto. ¿Porqué en una consulta? Porque si los cargo directamente en la tabla no puedo ver a que rubro corresponde cada RubroID (Luego esto sería un formulario con lista desplegable para ese campo)
El problema es: cuando modifico el campo RubroID de un registro ya cargado no me permite guardar el cambio, al intentar grabar el registro me sale el error del título: Error al actualizar el registro actual en consulta en Base así textual, sin ningún código de error ni ninguna indicación de cual podría ser el error.
Adjunto el archivo (es muy liviano ya que no tiene casi datos cargados) por si quereis verificarlo.
Desde ya muchisimas gracias. Saludos, Sergio

BdD ferias - copia.odb

Creo que el problema es que no puedes utilizar consultas para introducir o editar los datos.
A ver si alguno de los compañeros mas conocedores de las bases de datos amplia la información.

Buenas!
Puntualizar que sí que se puede añadir datos en una consulta (muchos de los formularios que creamos tienen como fuente de datos una consulta y funcionan perfectamente para introducir datos).
En tu caso he sido incapaz de meter algún dato en el formulario, pero desde consulta sí.
Lo que he visto, y supongo que si no es todo el problema, es parte de él: en la consulta utilizas dos campos aoutoincrementales, por lo que no puedes completarlos con los datos que quieres.
No termino de entender la estructura mental que hay detrás de la consulta ( Siento ser tan corto), pero creo que si utilizas formulario con subformularios con campos vinculados, y cada subformulario basado en la tabla correspondiente los resultados deben ser otros.
Vuelvo a decir ‘parece’ que no se están cumpliendo algunas reglas del SQL que hay detrás trabajando, por eso creo que lo mejor es intentar otro enfoque diferente.

Un saludo!

Muchas gracias por sus respuestas y comentarios. Hago algunas aclaraciones y nuevas consultas.
Con respecto a resolver la carga o modificación de datos desde formulario, no lo hice porque el formulario solo puede tener como fuente una tabla, y yo necesito dos. Por eso entiendo tengo que armar la consulta como paso previo.
Es cierto que el formulario que hay tampoco funciona, pero me dije “una pregunta a la vez” asi que veamos primero si puedo hacer funcionar la consulta.
En la consulta si se pueden agregar registros sin problemas (si uno conserva manualmente la integridad referencial), el problema me aparece cunado quiero modificar un registro ya cargado.
Respecto de utilización de campos autoincrementales en realidad no es asi, lo he corroborado en el diseño de las tablas:
En “t de puestos” campo IDPuesto es CP pero no es autoincremental
En la tabla “Rubros” campo IDRubro es CP pero no es autoincremental
Finalmente en la tabla “T de UPs” el campo IDUP tampoco es autoincremental
Para ser sincero en un principio todos esos campos estaban configurados como autoincrementales (es lo que recomiendan todos los tutoriales) pero luego lo cambie a ver si con eso solucionaba el problema… y no se solucionó.
¿Porqué incluyo los campos IDPuesto e IDRubro en la consulta? Porque si no los incluyo, no me permite agregar registros, incluso aunque los incluya pero configurados como no visible, no me permite agregar registros, y tampoco modificarlos, que es lo que estoy tratando de poder hacer.
A riesgo de ser muy extenso intentaré explicar la estructura mental que hay detrás de la consulta. Mi objetivo en este momento (después se complejiza) es un formulario donde yo pueda navegar por los registros de la tabla UPs y en ese formulario ver y modificar los campos de esa tabla, entre ellos el campo ID rubro. Pero quiero que en el formulario, en vez de que me aparezca en número de IDRubro que haya una lista desplegable con el nombre de todos los rubros y seleccionar de ahí. (algo similar agregaría después con los puestos, por eso el campo ID puesto) O sea, para ponerlo en la terminología de los tutoriales. Hay una relación de varios a varios entre las tablas “Puestos” y “Rubros” (cada puesto puede ofrecer mas de un rubro y a la vez cada rubro puede corresponderle a más de un puesto) y por eso entonces la tabla UPs tiene como claves externas las claves principales de esas tablas.
Si hay otra forma de hacerlo te agradecería muchísimo me orientes en ello. No conozco el tema de los subformularios. O sea, entiendo el concepto pero no como se implementa, si tienes algún material que me puedas recomendar, o indicarme como sería en este caso particular también te agradezco aún más.
¿El subformulario me permitiría hacer lo que quiero sin armar la consulta como paso previo?

Si, al final la solución estaba en usar subformularios. El tema es que no es para nada intuitivo como se generan en vista diseño y me costo encontrar info en español. Pero bueno, asi es esto. Prueba y error supongo. Si a alguien le interesan mas detalles me escribe por favor