Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2003
fortran fortran is offline
Miembro
 
Registrado: may 2003
Ubicación: Asturias
Posts: 63
Poder: 21
fortran Va por buen camino
Controlar que no se introduzcan nombres iguales en un campo

Hola a todos:

Estoy trabajando con WXP en D5 y con tablas Paradox. Lo que quiero conseguir es que para un campo el usuario no pueda meter 2 registros iguales. Se me ha ocurrido que en el evento OnExit de las celdas puedo poner un procedimiento que me chequee esto. Pero quisiera saber si hay alguna manera más sencilla de hacerlo.



Gracias de antemano por vuestra atención
__________________
- ¿Y cuando dejaré de aprender maestro?.

- El día que te mueras pequeño saltamontes.
Responder Con Cita
  #2  
Antiguo 18-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Puedes crearte un indice de tipo Unique y dejar que sea la tabla la que controle eso. Tu sólo deverias controlar el OnPostError para saber si el usuario repite el nombre
Responder Con Cita
  #3  
Antiguo 18-08-2003
fortran fortran is offline
Miembro
 
Registrado: may 2003
Ubicación: Asturias
Posts: 63
Poder: 21
fortran Va por buen camino
Suponía que sería algo así, pero... ¿como creo un indice de tipo unique?
__________________
- ¿Y cuando dejaré de aprender maestro?.

- El día que te mueras pequeño saltamontes.
Responder Con Cita
  #4  
Antiguo 18-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Dentro del DatabaseDesktop, al crear un indice secundario, veras que hay un check que pone "unique". Cliquealo y listo
Responder Con Cita
  #5  
Antiguo 19-08-2003
fortran fortran is offline
Miembro
 
Registrado: may 2003
Ubicación: Asturias
Posts: 63
Poder: 21
fortran Va por buen camino
He hecho lo que me has dicho y funciona perfectamente . En el evento OnPostError de la tabla saco un mensaje que me dice que no se puede repetir nombre y bla bla bla... pero justo después me sale el mensaje de error de Key violation, Index: IndiceNombreProducto. ¿Como lo puedo evitar?.
__________________
- ¿Y cuando dejaré de aprender maestro?.

- El día que te mueras pequeño saltamontes.
Responder Con Cita
  #6  
Antiguo 19-08-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
como haces la captura de errores en el OnPostError? porque el error de keyviolation tb lo tendrias que poder capturar alli
Responder Con Cita
  #7  
Antiguo 19-08-2003
fortran fortran is offline
Miembro
 
Registrado: may 2003
Ubicación: Asturias
Posts: 63
Poder: 21
fortran Va por buen camino
Creo que ya lo he solucionado. Explico lo que he hecho puesto que no estoy seguro de que sea lo correcto.

En el OnPostError saco el mensaje de que no se pueden introducir nombres de productos iguales, luego borro el contenido con TablaProductosNombreProducto.clear

y por último hago action := daAbort;

¿Es correcto?
__________________
- ¿Y cuando dejaré de aprender maestro?.

- El día que te mueras pequeño saltamontes.
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 13:22:12.


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