PDA

Ver la Versión Completa : Añadir/modificar Regs. En Tabla Con Filtro


txuseibar
23-09-2003, 13:27:27
Hola a tod@s,

Tengo un problema que no se como resolverlo. Haber si me podeis ayudar:

Tengo una tabla a la cual aplico un filtro dependiendo las cosas que el usuario quiera filtrar. El problema es que si el usuario quiere modificar un registro con valores que no están en el filro aparece el error "RECORD/KEY DELETED".

¿Que podría hacer para que el usuario puede introducir los valores que el quiera independientemente de las condiciones de filtrado?.

¿Desactivo el filtro? ¿en que evento lo activo o desactivo?

¿Los filtros de los table tienen alguna propiedad en la que se pueda indicar como comportarse ante valores que no entran dentro de las condiciones del filtro?

Lo ideal para mi seria que si el usuario introduce un valor que no esta dentro de las condiciones de filtrado lo pueda introducir pero que le desaparezca el registro de la pantalla.


Gracias y un saludo.

Txus.
Aplica01@sarenet.es

marcoszorrilla
27-09-2003, 14:56:53
A la vista de lo que planteas, yo utilizaría 2 Ttables con sus 2 TadataSource, a uno de los dos le aplicaría el filtro y lo que pretendes hacer, yo utilizaría el 2º Ttable que no está filtrado.

A ver si te sirve la idea.

Un Saludo.

txuseibar
29-09-2003, 17:59:29
Hola a tod@s de nuevo,


Al final he podido descubrir por donde viene el fallo pero no puedo solucionarlo aunque he probado de todo.

El problema viene por la clave primaria definida en interbase para la tabla en cuestión. Si borro la clave primaria en interbase el error desaparece, es decir, ya no aparece RECORD/KEY DELETED cuando modifico un campo por el cual estoy filtrando el dataset table.

Este error (RECORD/KEY DELETED) ya viene por ahí documentado en el sentido de que un programa escrito en Delphi tiene problemas al generar la clave primaria mediante generadores llamándoles desde Delphi, porque el registro desaparece desde el punto de vista de la tabla.

Pero lo que me pasa a mi no viene documentado por ningún sitio.
He anulado todos los triggers, eventos etc asociados con esta tabla pero el error persiste.

Gracias por la idea de los 2 datasets, auque el tema es muy laborioso porque tengo que sincronizar los dos datasets cuando me muevo de registo, borro, modifico, inserto etc.

txuseibar
10-10-2003, 10:22:38
Hola de nuevo.

Encontre la solucion.

En interbase tengo definidos los campos de las tablas con dominios y alguno de ellos de 2 tablas en particular no irian bien.

He borrado estas 2 tablas las he vuelto a generar con indices primarios, triggers, etc.tal y como estaban antes y ya no aparece el error de RECORD/KEY DELETED.

¿Curioso verdad?.

Un saludo a tod@s.

__cadetill
10-10-2003, 10:48:38
Lo que no termino de entender cómo un usuario puede modificar un registro de una tabla que lo está filtrando :confused:
Si lo filtra, el registro no es visible por el usuario, con lo que no lo podrá modificar nunca

roman
10-10-2003, 17:05:21
Posteado originalmente por cadetill
Lo que no termino de entender cómo un usuario puede modificar un registro de una tabla que lo está filtrando :confused:
Si lo filtra, el registro no es visible por el usuario, con lo que no lo podrá modificar nunca

Creo que se refiere a un registro que sí cumple las condicones del filtro pero deja de hacerlo al momento en que se le cambian algunas propiedades.

Como no trabajo con Interbase no sé a qué se deba el problema pero lo que txuseibar describe como ideal es lo que siempre pasa al menos en Paradox. El registro puede editarse y, al dejar de cumplir las condiciones simplemente desaparece de la vista.

// Saludos