Se tiene una relacion de DOCENTES (grado, grupo, docente)
NOTAS (grado,grupo,estudiante)
El datos relacion es DOCENTES-NOTAS(grado, grupo, estudiante, nota)
En el primer CI de navegacion se cargan los docentes con sus respectivas asignaturas
En la Edicion se muestra el listado ML de los estudiantes de dicho grupo
Si se ingresa la nota del primer estudiante y se le da guardar, la misma nota la transmite a todo el grupo, parece que el UPDATE no tiene en cuenta los campos completos de la tabla hija, sino solamente la de la tabla padre.
Resumiendo, como puedo agregar a la sicronizacion, que me tome la llave de la tabla hija, ya que falta el estudiante segun el Log ?
Anexo parte del log, donde se ve claramente, que el ML se carga bien, pero al momento de la transaccion, falta el codigo del estudiante, por lo tanto actualiza todo el grupo y se necesita actualizar cada registro independientemente
si mal no entiendo la situacion seria la siguiente:
Tabla Docentes con clave multiple: grado, grupo, docente
Tabla Notas con clave multiple: grado, grupo, estudiante
Tabla Docentes Notas con clave multiple: grado, grupo,estudiante
Osea la tabla docentes notas termina siendo una relacion N->N entre las otras dos tablas no?.
Suponiendo el esquema anterior a la tabla Docentes Notas creo le falta como parte de la clave el docente. Las relaciones N->N se manejan de forma particular con datos_tabla, ya que el esquema fue pensado principalmente para trabajar con relaciones 1->N .
Generalmente en estos casos lo que se hace es fijar el cursor en la tabla padre, eliminar todos los registros de la tabla hija y agregar nuevamente los datos que quedaron. En ciertas situaciones la eliminacion no es posible por temas de consistencia, en ese caso lo que se debe hacer es modificar el registro de manera manual.
En tu caso el problema que tienes que que por el tipo de relacion para poder ubicar univocamente un registro en la tabla hija deberias tener cursores seteados en ambos padres, sin embargo como cargas la relacion x docente la tabla de notas (que no tiene relacion directa con la anterior) traera todos los registros que posee (sin filtrar por docente) por lo que para apuntar a un registro especifico de un estudiante deberias ir seteando los cursores de manera manual a medida que vas transitando por los registros de la tabla hija.
En definitiva, vas a tener que modificar el metodo que escucha la modificacion del ML ya que el procesar_filas() no te sirve en este caso. Como desees hacerlo ya depende de lo que permita el modelo de datos pero teniendo claves significativas no deberias tener tanto inconveniente.
Por cierto, dime si quieres que mezcle este tema con el hilo de los problemas de concurrencia ya que en definitiva estan relacionados.