FoxPro/Visual FoxPro - AGREGAR REGISTROS INDEXADOS

 
Vista:
Imágen de perfil de EUSEBIOSANTANA

AGREGAR REGISTROS INDEXADOS

Publicado por EUSEBIOSANTANA (33 intervenciones) el 05/02/2012 02:46:49
Hola, a todos!

Sigo con el problema al guardar el registro.

Yo elijo "agregar" y comienzo a llenar la información, pero cuando salgo del control "código" me sale, antes del aviso "si existe o no el código incorporado, el siguiente mensaje:

AVISO: Se infringe la unicidad del índice código. Con los botones: (Cancelar - Suspender - Pasar por Alto - Ayuda). Y después me sale el aviso "Este código ya existe ... Vuelva a intentarlo".

¿En dónde estoy pegado? - Muchas 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

AGREGAR REGISTROS INDEXADOS

Publicado por xx (378 intervenciones) el 05/02/2012 23:33:20
Si usas SQL engine: SQLSETPROP( _HCSQL,"DispWarnings", .T.) es la linea que te muestra los errores del motor y quiere decir que estas intentando insertar un registro que tiene clave duplicada ahora deberias revisar si requieres claves duplicada reindexa apropiadamente la tabla

ahora si usas DBF's busca la clave a insertar primero con SEEK() y luego lo insertas siempre que no exista o reindexa como normal para que no te de problemas el indice.

En caso de persistir el problema postea la estructura de tu tabla y la conformacion de los campos indexados y el registro que intentas insertar.

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
Imágen de perfil de EUSEBIOSANTANA

AGREGAR REGISTROS INDEXADOS

Publicado por EUSEBIOSANTANA (33 intervenciones) el 06/02/2012 18:29:57
Gracias, amigo!
Me podría escribir un código poder enterlo mejor. Disculpa que haga uso de tu valioso tiempo.
Gracias.
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

AGREGAR REGISTROS INDEXADOS

Publicado por xx (378 intervenciones) el 06/02/2012 23:32:28
SQL:
SQLSETPROP( _HCSQL,"DispWarnings", .T.) && con .T. habilitas el mensaje de error sql
IF SQLEXEC( _HCSQL, [INSERT INTO tabla (CAMPO1,CAMPO2) VALUES (?_val1,?"_val2);], )==-1
MESSAGEBOX( [FAIL SQL], 16, [ERROR] )
RETURN
ENDIF


DBF
SELECT TABLA
*debe estar activo el indice primario
SET ORDER TO 1
GO TOP
IF SEEK( _val1 )
MESSAGEBOX( [CLAVE DUPLICADA], 16, [ERROR] )
RETURN
ENDIF
INSERT INTO TABLA (CAMPO1,CAMPO2,...) VALUES (_val1,_val2,...)


Como te dije postea la estructura de la tabla para mejor ayuda
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