FoxPro/Visual FoxPro - error de unicidad de indice

 
Vista:

error de unicidad de indice

Publicado por Juan (3 intervenciones) el 15/07/2003 18:52:16
Tengo un problema al grabar datos a mi tabla, al hacer append blank tengo un error de unicidad de indice, imagino que deba estar intentando cargar un campo repetido, pero ya busque y no es el mismo, si alguien tiene una idea de lo que pueda estar pasando, agradecerá alguna sugerencia.
Gracias!
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:error de unicidad de indice

Publicado por upliftmofopartyplan (265 intervenciones) el 15/07/2003 20:14:08
Hola!
esto es porque el indice creado sobre el campo utilizado para identificar exclusivamente a cada registro (podemos llamarlo campo "CODIGO"), está puesto como Principal (unico e irrepetible).
dos formas de solucionarlo:
1) cambia el indice de Principal a Normal en la tabla. esto permite repetir CODIGOS, pero puede traerte problemas en las relaciones.
esto no se puede aplicar por ejemplo cuando el codigo sea un N° de legajo de empleado, ya que es irrepetible.

2)antes de hacer el append asegurate que el campo indice tenga un valor que no sea repetido. o mejor aún cambia el append por un INSERT INTO de SQL, con valores ya definidos.

en realidad hay que ver en que momento quieres hacer el append para encontrar bien la solucion. supongamos que lo usas para agregar un cliente nuevo, en este caso te conviene el INSERT.
saludos.
Uplift,
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:error de unicidad de indice

Publicado por Plinio (7841 intervenciones) el 15/07/2003 22:02:07
Independientemente de lo que dice "upliftmofopartyplan" si estas usando el Dataenvironment chequea que el tipo de buffer de la tabla no sea 5, usa el 3
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:error de unicidad de indice

Publicado por RICARDO (324 intervenciones) el 16/07/2003 09:41:29
SI UTILIZAS EL APPEND BLANK Y TIENES OTRO REGITRO EN BLANCO TE DA ERROR, SI EL INDICE ES UNICO DEBES USAR EL INSERT Y ADEMAS DEBES TENER CUIDADO CON LOS REGITROS BORRADOS MIRA EL SET DELETED
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:error de unicidad de indice

Publicado por juan (3 intervenciones) el 16/07/2003 14:13:01
alguien me podria dar un ejemplo de como utilizar el INSERT? este comando reemplazaria un registro existe para no repetirse?
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:error de unicidad de indice

Publicado por Roman suazo (2723 intervenciones) el 16/07/2003 16:58:32
El INSERT es como una APPEND BLANK, seguido de un REPLACE, es
decir, el INSERT lo que hace es agregar un nuevo registro a la tabla y
al mismo tiempo llenar los campos (los que tu quieras) con valores definidos por ti.

Ejemplo:

USE employee
INSERT INTO employee (emp_no, fname, lname, officeno) ;
VALUES (3022, "John", "Smith", 2101)

donde emp_no y fname y officeno son campos.

Saludos
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:error de unicidad de indice

Publicado por Alex (4 intervenciones) el 16/07/2003 19:13:07
Hola juan lo mas seguro es tenga un campo en blanco dentro de esa tabla, revisa y borra el registro en blanco.
lo otro que puedes hacer es en valid del txtCODIGO realice una busqueda si lo consgues manda un mensaje de que ya existe de lo contrario colocas el set focus a objeto siguente. preferibelemente debes usar el insert into
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