FoxPro/Visual FoxPro - campo unico

 
Vista:

campo unico

Publicado por bekyna (294 intervenciones) el 06/04/2006 21:20:31
Hola tengo un problemita...
¿cómo puedo hacer para que mi base de datos no acepte que un campo se repita, lo he intentado hacer por código pero no queda como quiero se me ha complicado porque son 12 campos que voy a guardar al mismo tiempo, así que debo de verificar que no existan en la BD.
Gracias por cualquier sugerencia que puedan darme.

Saludos cordiales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:campo unico

Publicado por Felipe (129 intervenciones) el 06/04/2006 22:12:03
Si los dejas todos como index ..... ahi no se podran repetir?????? pero despues tendrias que hacer un manejo de error espero qeu te halla ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:campo unico

Publicado por Manuel (344 intervenciones) el 06/04/2006 23:54:31
Es de suponer que los datos los capturas desde TextBox. La validación puedes hacerla en el Valid( ) de cada TextBox.
A cada campo que no quieres que se repita puedes aplicarle esto en el Valid del TextX:
IF NOT EMPTY(THIS.VALUE)
REG=RECNO()
SELE * FROM tuTabla WHERE tuCampo=This.Value AND RECNO()<>REG INTO CURS X
IF NOT EOF() &&Si no está vacía, significa que halló registros
messageb("El dato ingresado ya existe")
RETURN 0
ENDI
ENDI

El primer IF es para que al menos te deje salir del TextBox, pero en el botón Guardar deberás validar que no te guarde vacíos:
IF EMPTY(Thisform.TextX.Value)
MESSAGEB("Falta ingresar el DatoX")
Thisform.TextX.SetFocus
RETURN
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:campo unico

Publicado por Jorge (423 intervenciones) el 07/04/2006 20:48:30
Hola niña, mira creo que mas o menos te entendi, debes definir una clave unica de acceso, es decir indices, campos llaves los cuales defines en tu tabla, puedes concatenar varios campos de tu tabla (acuerdate que todos los campos llaves deben ser del mismo tipo cuando concatenas), de esta forma cada ves que trates de repetir una llave o un campo llave automaticamente te genera un error de duplicidad...
claro que todo este depende de lo que pretendas hacer...

bye bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar