FoxPro/Visual FoxPro - ¿como evito registros duplicados VFP9.0?

   
Vista:

¿como evito registros duplicados VFP9.0?

Publicado por novato (14 intervenciones) el 26/06/2012 06:10:54
Hola a todos, Quiero saber algo. he intendado crear una rutina para evitar que mi formulario agrege registros duplicados a mi tabla.
al momento de guardar dichos datos, siempre me sale solo una parte de la condicion , como que si siempre encontrara el registro que ingreso aunque no este . ¡ESTOY DESESPERADO Y NO SE QUE HACER! HELP!
Gracias de antemano


aqui dejo la rutina de busqueda por si alguien sabe que hago mal o si la puedo mejorar

busqueda= thisform.textbox1.value
SET ORDER TO registo_tabla
SEEK busqueda
IF FOUND()
MESSAGEBOX("NUMERO DE CHEQUE YA INGRESADO EN LA BASE DE DATOS", 48, "ERROR")
ELSE
replace campo with textbox.value . . ..

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

¿como evito registros duplicados VFP9.0?

Publicado por Mauricio (1367 intervenciones) el 26/06/2012 15:20:18
Alejandro o Novato, como tienes definido el indice?
Podrias postear como lo tienes definido?
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

¿como evito registros duplicados VFP9.0?

Publicado por Alejandro o novato (14 intervenciones) el 27/06/2012 03:11:48
pues lo tengo como candidato, creo que a eso te refieres ¿verdad?

L
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

¿como evito registros duplicados VFP9.0?

Publicado por neo (1601 intervenciones) el 26/06/2012 15:51:51
Para evitar registros duplicados, yo hago lo siguiente

Ejemplo solo para el campo num o clave o id de la tabla:

Antes de cualquier cosa escribo en el init del form:

select mi_tabla
set order num
go bott

&&para eso tengo un cuadro de texto al que llamaré "t1" (thisform.t1.value)

thisform.t1.value=mi_tabla.num+1
thisform.refresh


***En caso de trabajar en red, al momento de guardar vuelvo a hacer la misma sentencia:
Boton guardar:

select mi_tabla
set order to num
go bott
thisform.t1.value=mi_tabla.num+1

select mi_tabla
seek thisform.t1.value
if found()
Wait window "El numero ya existe intente de nuevo"
else
append blank
replace num with thisform.t1.value
wait window "Datos guardados con éxito"

thisform.t1.value=0
thisform.refresh
endif

Facil y simple,

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

¿como evito registros duplicados VFP9.0?

Publicado por Marcelo (69 intervenciones) el 26/06/2012 16:25:14
Yo uso esto..oajla te sirva.

SET ORDER IN ciudad TO cod_ciu
GOTO TOP IN ciudad
SEEK STR(m_codciu, 3, 0) IN ciudad ORDER cod_ciu
IF FOUND('CIUDAD')
ejecutas tis comandos
else
...
endif

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 Mauricio

¿como evito registros duplicados VFP9.0?

Publicado por Mauricio (1367 intervenciones) el 26/06/2012 17:10:24
no me sirve, como tienes definida la llave cod_ciu en la tabla?
ALLT(cod_ciu) O solo cod_ciu?
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