FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Evitar duplicar el nombre y apellido de una persona
Hola, en mi aplicación tengo un edit para ingresar el nombre o nombres del cliente y otro para los apellidos, pero tengo problemas a la hora de registrar un nuevo cliente utilizando la función Locate, hago uso de banderas, si encuentra el nombre q puse en el edit, la ban:=1, se pasa al edit de apellido si el apellido lo encuentra ban1:=1, si las dos banderas son 1, me dice que el cliente ya esta registrado..
Pero si en la base de datos tengo registrado a Cynthia Elizabeth Benavides García y si ingreso en el edit de nombre Cynthia Fabiola y en el edit de apellidos Benavides López, me dice que el cliente esta registrado. Es decir, sólo me toma el primer nombre y el primer apellido.. Alguna idea de como validar esto? Gracias |
#2
|
||||
|
||||
En las opciones de la función Locate, debes quitar "loPartialCompare", de esta forma quedaría así ...Locate('nombre del cliente', 'nombre_campo', [loCaseInsensitive]
Saludos. |
#3
|
||||
|
||||
Conviene que digas que motor estás utilizando, en cualquier caso yo apuesto por una clave única compuesta de ambos así será el propio motor el que rechace los duplicados.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#4
|
|||
|
|||
Estoy utilizando mysql, el caso esk como llave primaria tengo una clave que la genera el sistema, utilizando el numero de registros que se tienen dados de alta.. Pero seria conveniente no tener a dos personas con el mismo nombre..
|
#5
|
||||
|
||||
No entiendo bien cómo estás haciendo la búsqueda. ¿Qué pones en el locate? Por otro lado, en tu base ¿tienes un campo para apellidos y otro para nombre o es un sólo campo para el nombre completo?
// Saludos |
#7
|
|||
|
|||
te recomiendo hacer eso con instruccion mySQL, aparte si no quires que se duplique ¿por que no creastes esos campos con la opcion de "Unique"(creo que es asi, ya que me traslade a sql xD)..?
|
#8
|
||||
|
||||
Me parece que estamos ante un caso de un mal diseño de la tabla. Recordemos Lizette que las tablas se deben diseñar ANTES de pensar siquiera en que lenguaje vamos a programar. En el caso de una tabla de clientes (ignoro si es para una facturación o algo así y si eres de México) normalmente se utiliza ua clave artificial (como es tu caso) o bien se utiliza alguna que ya exista como por ejemplo un RFC (o nIF en otros lados) que es un poco más seguro, aunque no infalible. En todo caso lo que pretendes hacer es correcto pero entonces tienes que crear un indice compuesto que integre los campos NOMBRE y APELLIDO (o los que corrspondan) y le pones el atributo unique, de esta forma el motor no te aceptará registros que tengan los mismos datos en esos campos y en tu aplicación ya no tienes que hacer esa operación.
De todos modos vas a tener estos problemitas: Que pasa si dos clientes se llaman exactamente igual (JUAN PEREZ) por ejemplo. El sistema solo te va a aceptar a uno y el otro lo tomará como que es distinto. Por otro lado, si lo dejamos un poco más libre, te aceptará a ambos y podría alguien dar de alta varias veces a un mismo cliente por error. Yo te recomiendo que incluyas algún valor único como el RFC o CURP para evitar que capturen 2 veces un mismo cliente, esto independientemente del número que te genera el sistema.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
abogado y una buena persona? | marcoszorrilla | Humor | 1 | 17-01-2007 02:01:22 |
Juntar nombre y apellido en un Campo Lookup | serhasae | Varios | 4 | 26-04-2006 22:32:12 |
indice apellido+nombre | joanajj | Conexión con bases de datos | 6 | 25-04-2006 17:49:34 |
Algo interesante Evitar el mismo nombre en un registro | carlosmoralesm | Conexión con bases de datos | 6 | 05-06-2004 22:14:31 |
Ordenar consulta por apellido y nombre | gqxns | SQL | 2 | 30-01-2004 19:19:12 |
|