FoxPro/Visual FoxPro - se infringe la unicidad del indice

   
Vista:

se infringe la unicidad del indice

Publicado por gustavo (34 intervenciones) el 21/05/2008 15:08:23
buenas a todos

tngo un un problema al tratar de grabar un nuevo registro
me aparece el mensage "se infringe la unicidad del indice"
trate de solucionarlo agregando un filto NOT DELETE() al indice principal
tambien lei q tngo q cambiar la clave de principal a normal pero esto no puedo hacerlo debido q despues no se pueden hacer las relaciones
la tabla en dond tngo problemas es en una llamada alumnos cuya clave principal es el DNI
el problema surge cuando quiero ingresar 2 dni repetidos, esto puedo hacerlo debido a q uno pertenece x eje al ciclo lectivo 2006 y el otro al 2007 asi q se pueden repetir los DNI

como puedo solucionarlo?
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:se infringe la unicidad del indice

Publicado por enrique (1041 intervenciones) el 21/05/2008 15:33:49
Una solución es agregar un campo ANIO donde ingresas el ciclo lectivo y luego indexar por ANIO + DNI (se supone que anio es character)

Otra sería crear una tabla de datos personales del alumno con lo cual no tenes que ingresar todos los años el DNI.
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:se infringe la unicidad del indice

Publicado por neo (1601 intervenciones) el 21/05/2008 16:37:33
Solucion:

El indice principal no debe tener datos repetidos o vacios.

Puedes concatenar el dni+año para que sea un campo unico.

Pregunta:
Porqué el dni es indice pricipal??

Suerte
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:se infringe la unicidad del indice

Publicado por gustavo  (34 intervenciones) el 22/05/2008 02:42:04
hola y gracias por su rota
el dni es clave principal e intente hacer una clave combinado el dni y el ciclo lectivo pero lo q sucedia era q sumaba el DNI con el ciclo
eje dni=28660000 + 2008=28662008
no ce si soty haciendo bien la programacion lo q yo quiero es una clave compuesta
eje=286600002000
no se como hacerlo
los campos DNI , CICLO y DNICILO(clave compuesta) son numericas
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:se infringe la unicidad del indice

Publicado por neo (1601 intervenciones) el 22/05/2008 15:06:43
Clave compuesta(tipo caracter)

dni=alltrim(str(28660000))+alltrim(str(2008))

? dni

Suerte
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