FoxPro/Visual FoxPro - No funciona

   
Vista:

No funciona

Publicado por DanielVFP (37 intervenciones) el 07/11/2010 13:11:24
Hola a todos.
Estuve implementando lo que describió Juanma Cruz en este post que x otra parte esta muy bien explicado.-
http://www.lawebdelprogramador.com/news/mostrar_new.php?id=34&texto=FoxPro/Visual+FoxPro&n1=571402&n2=3&n3=1&n4=1&n5=1&n6=0&n7=0&n8=0&n9=0&n0=0

El inconveniente que tengo es el siguiente, todo funciona a la perfección mientras no valido si el código ingresado ya existe, tengo implementado un SEEk con el campo ordenado, pongo un temp = RECNO() cuando termino de validar hago un GO temp(por supuesto si hay mas de un registro en la tabla), el caso es que después de todo esto quiero hacer TABLEREVERT() el registro no desaparece de la tabla.-(si lo hace si no efectuo la validación)
Aclaración:estoy trabajando con una sola tabla y por lo tanto no esta contenida en una base de datos.-

Bueno espero que se entienda y puedan ayudarme.-

Saludos.
Daniel
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:No funciona

Publicado por Juanma Cruz (508 intervenciones) el 08/11/2010 10:10:04
Claro, si usas un bloqueo sólo de registro, y no de la tabla entera, mover el puntero hace que el registro se grabe automáticamente, con lo que TableReverte posteriores ya no sea útiles.

Podrías usar una validación basada en desencadenantes e índice único, pero dado que trabajas con una tabla libre...

Usa un SELECT SQL sobre la tabla. Esta acción busca en tus registros GRABADOS en la tabla, sin mover el puntero de tu registro actual.


*** bla bla bla...

lClave= thisform.txtClave.value
Select Count(*) as Contador from MiTabla where clave= lClave into cursor vTmpValidar
if vTmpValidar.Contador > 0
MessageBox( "Registro duplicado")
endif
use in vTmpValidar

*** bla bla bla...
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:No funciona

Publicado por DanielVFP (37 intervenciones) el 08/11/2010 17:40:22
Gracias Juanma Cruz x ahora lo solucione con la función INDEXSEEK( ), x lo menos hasta el momento no me a dado inconvenientes, espero tu comentario si INDEXSEEK( ) da algún problema.-

Igual me interesa tu código, seguramente me sera muy útil.-

Saludos.
Daniel
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