Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2003
txuseibar txuseibar is offline
Registrado
 
Registrado: may 2003
Posts: 7
Poder: 0
txuseibar Va por buen camino
Question Añadir/modificar Regs. En Tabla Con Filtro

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
Responder Con Cita
  #2  
Antiguo 27-09-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
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.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 29-09-2003
txuseibar txuseibar is offline
Registrado
 
Registrado: may 2003
Posts: 7
Poder: 0
txuseibar Va por buen camino
Thumbs up

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.
Responder Con Cita
  #4  
Antiguo 10-10-2003
txuseibar txuseibar is offline
Registrado
 
Registrado: may 2003
Posts: 7
Poder: 0
txuseibar Va por buen camino
Thumbs up

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.
Responder Con Cita
  #5  
Antiguo 10-10-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Lo que no termino de entender cómo un usuario puede modificar un registro de una tabla que lo está filtrando
Si lo filtra, el registro no es visible por el usuario, con lo que no lo podrá modificar nunca
Responder Con Cita
  #6  
Antiguo 10-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
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
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:21:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi