FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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. |
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
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. |
#4
|
||||
|
||||
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/ |
#5
|
||||
|
||||
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.
__________________
|
#6
|
||||
|
||||
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/ |
#7
|
||||
|
||||
Cita:
__________________
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. |
#8
|
||||
|
||||
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: Esto hace que no se repitan los datos. Saludos |
#9
|
||||
|
||||
Gracias mil,
ContraVeneno, Jhonny, Neftali, caral por la orientación, Gracias, Alcides Rep.Dom. |
|
|
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 18:39:37 |
Como Evitar Borrar Registro en dbGrid al Presionar ESCAPE ???? | AGAG4 | Varios | 4 | 07-07-2006 04:30:20 |
Evitar Borrar más filas con DBGRID | User_Baja_2 | Varios | 4 | 12-01-2006 23:59:09 |
Como evitar que se ejecute el msn | JODELSA | Varios | 7 | 26-12-2005 14:17:22 |
Duplicidad de lineas en un grid con select contra firebird | saruman91 | Firebird e Interbase | 6 | 29-10-2004 02:41:33 |
|