Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2007
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
Como evitar duplicidad en un dbgrid?

Hola a todos,

Utilizo delphi 7 y mis tablas estan en access,

Resulta que manelo una relacion master disteil y en un dbgrid capturo mis cuentas, como se puede evitar introducir la misma cuenta dos veces.

si por fa, me pueden dar una orientacion.


Gracias mil,


Alcides
Rep.Dom.
Responder Con Cita
  #2  
Antiguo 06-02-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Revisa documentación sobre claves primarias (PK), e índices únicos.
Utilizándolos en los campos adecuados de tu tabla puedes evitar que se repitan registros con determinados datos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 06-02-2007
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
Gracias neftali, por tu orientación.

Resulta neftali que no es en la tabla, es en el Dbgrid al momento de capturar la información, que necesito que una cuenta no se repita.


Gracias Mil,


Alcides
Rep.Dom.
Responder Con Cita
  #4  
Antiguo 06-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Se me ocurre una pachotada y es que cada que agregues una cuenta la pongas en un TStringList y antes de grabar verifiques con un IndexOf al StringList y si dicha funcion devuelve diferente a -1 pues mostrar un mensaje donde diga que la cuenta esta repetida...
Eso a groso modo claro esta, pues abria que tener en cuenta varias cosas tales como, si borras una cuenta debes borrarla del StringList tambien y cosas de esas.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 06-02-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
A lo que se refiere Neftali, es que debes crear índices únicos en tu tabla de acces, de esta manera, cada vez que quieras agregar un registro que ya existe, se te generará una excepción de violación de llave primaria. La cuál puedes manejar a tu antojo.

Recuerda que el DBgrid es solo una representación gráfica del Dataset, es decir, lo importante es el dataset, no el dbgrid.
__________________

Responder Con Cita
  #6  
Antiguo 06-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
La solución (pachotada) que te mostré podría servirte en un remoto caso donde quizá estés usando algún DataSet (de Memoria por ejemplo) donde no reconozca el conjunto de llaves que tienes en tu tabla.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #7  
Antiguo 06-02-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por alcides
Resulta neftali que no es en la tabla, es en el Dbgrid al momento de capturar la información, que necesito que una cuenta no se repita.
En realidad es lo mismo. El Grid en sí no contiene nada, simplemente te muestra lo que hay en una tabla o consulta, por eso este tipo de operaciones no debes hacerlas sobre el Grid, sino sobre la fuente de datos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 06-02-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Como te han dicho esto se hace directamente sobre la tabla.
En access es realmente facil ya que tiene un generador de consultas en donde puedes hacer la sentencia sql que necesites.
Esta sentencia empieza con:
Código SQL [-]
SELECT DISTINCTROW
Esto hace que no se repitan los datos.
Saludos
Responder Con Cita
  #9  
Antiguo 06-02-2007
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
Gracias mil,
ContraVeneno, Jhonny, Neftali, caral

por la orientación,


Gracias,




Alcides
Rep.Dom.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
por que duplicidad de registros con clientdataset sin ingresar registros ...mysql Arturo MySQL 3 05-09-2006 19:39:37
Como Evitar Borrar Registro en dbGrid al Presionar ESCAPE ???? AGAG4 Varios 4 07-07-2006 05:30:20
Evitar Borrar más filas con DBGRID User_Baja_2 Varios 4 13-01-2006 00:59:09
Como evitar que se ejecute el msn JODELSA Varios 7 26-12-2005 15:17:22
Duplicidad de lineas en un grid con select contra firebird saruman91 Firebird e Interbase 6 29-10-2004 03:41:33


La franja horaria es GMT +2. Ahora son las 10:46:37.


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