![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Y esta tabla de histórico podría ser alimentada mediante un trigger
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
|
#2
|
||||
|
||||
|
Por supuesto, debe ser así.
![]() ![]() ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Buenos días y muchas gracias por vuestras respuestas. Esta solución que me proponéis ya me ha pasado por la cabeza y no la descarto. La que estoy estudiando ahora es la posibilidad, como comenté en mi primer mensaje, de que cuando se edite un registro, convertir esa edición en una inserción, correspondería a la nueva versión del registro modificado.
Vers. - nº lin. - artículo - cantidad 1 - 1 - ARTICULO 1 - 3 2 - 1 - ARTICULO 1 - 6 En este caso se modificaría el registro (linea 1) cambiando la cantidad de 3 a 6. Al aplicar las actualizaciones (ApplyUpdates) el primer registro no se actualizaría y se insertaría el nuevo registro, correspondiente a la versión 2. Para ello estoy estudiando el comportamiento del evento OnUpdateData del datasetprovider y el valor de la propiedad UpdateStatus. ¿Qué os parece la idea? Gracias de nuevo |
|
#4
|
||||
|
||||
|
Desconocemos los requisitos de lo que tienes que conseguir finalmente. Si te viene bien así, pues hazlo así.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
Gracias de nuevo por tu respuesta
Al final de lo que se trata es que cuando se modifica un registro, realmente no se modifica sino que se inserta un nuevo registro. Estoy valorando las opciones que comentaba en mi anterior mensaje, y me interesaba saber si os parecía viable, si alguien tiene experiencia en ese tipo de escenarios (alterar el contenido de la propiedad delta del clientDataset, algo así como que cuando dataset.updatestatus=usmodified insertar manualmente el registro en el Delta). De todas formas, entiendo perfectamente lo que me propones (trigger y tabla adicional con el registro de cambios). Gracias otra vez. |
|
#6
|
||||
|
||||
|
También está bien como dices. Si tienes que presentar todos los cambios. En caso contrario tendrás que hacer un max(revision) from cada línea en los select que necesites para obtener la última versión válida del registro.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
|||
|
|||
|
El usuario podrá visualizar las diferentes versiones del presupuesto. Lo que ocurre es que no tengo claro si trabajar directamente con el Delta, o utilizar una tabla más con todos los cambios de las líneas.
Tengo que elegir entre una manera de hacerlo u otra. . Estoy valorando pros y contras de las dos opcionesGracias otra vez por tu ayuda |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Lentitud al leer ClientDataSet.ChangeCount / Delta | rcarrillom | Providers | 14 | 11-06-2014 19:21:16 |
| buscar registros de un ClientDataSet a otro clientDataSet | novato_erick | Conexión con bases de datos | 2 | 02-02-2013 20:48:09 |
| añadir campos a un ClientDataSet en ejecución | sanpra | Varios | 2 | 24-10-2007 13:25:07 |
| por que duplicidad de registros con clientdataset sin ingresar registros ...mysql | Arturo | MySQL | 3 | 05-09-2006 18:39:37 |
| Bloqueo de registros manualmente | Will | Firebird e Interbase | 6 | 17-06-2005 17:38:38 |
|