![]() |
Error al poner TClienTDataSet en estado de edicion
Hola buenas desarrollando en Delphi XE5.. ma ha surgido un problema con el siguiente codigo:
D es un TClientDataSet que apunta a un TDataSetField de Otro TClienTDataSet, cuando la linea de ejecución llega a D.Append, delphi lanza el siguiente error.' EDataBaseError 'cdsESPersonal: DataSet not in edfit or Insert Mode'. D apunta a cdsESPersonal. Gracis. |
Parece que le mensaje dice que lo que vas a hacer afecta a cdsEPersonal y este debería estar en modo Edit o insert.
La verdad es que con un mensaje tan claro, no sé en qué o cómo puede confundirte ésto. No se qué significa hacer append en un campo, no sé si quieres asignar un valor o insertar un registro, pero deberías hacerlo sobre cdsEPersonal, creo... |
...D es un ClientDataSet que apunta a cdsESPersona. La propiedad datasetfield de cdsESPersona apunta a otro TClientDataSet (cdsPersonalLab), es decir cdsESPersona es detalle de cdsPersonaLab...
|
Pues entonces es cdsPersonalLab, que entiendo que es la tabla, la que debe estar en modo de edición/inserción.
|
y si es D el TClientDataSet, porque me he liado un poco diciéndome que apunta a cdsEPersonal, pon Insert en lugar de append, a ver si fuera eso.
|
A ver, entonces D es un TCLientDataSet que apuntan a un TDataSetField (que no sé lo que es, sé lo que es un TFIeld) que a su vez apunta a otro TClientDataSet que es cdsPersonalLab...
Algo raro veo en D. |
He probado a poner iNsert y sale el mismo error....
Al abrir cdsPersonaLab el proveedor asociado tb trae los registros de cdsESPersona, la tabal maesra se graba bien en caeche..falla la de detalle |
Cuando se trabaja maestro-detalle usando un TDataSetField (en un TClientDataset), la tabla maestra tiene que estar en modo de edición para poder modificar el detalle. Recuerda que finalmente la tabla hija es simplemente un campo de la tabla maestra.
|
Problema solucionado, hay que poner la tabla de detalle en modo de inserción, el sistema maestro detalle no la pone cuando se activa la maestra para inserción/edición ..Gracias.
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 13:09:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi