Validación datos en tablas de vfp6

Me podrías por favor indicarme la forma como puedo validar los datos de una tabla para no ingresar datos duplicados, dedes un formulario. He utilizado VALID, pero no me funciona, pasa por alto, también lo he intentado en SETFOCUS, pero no me valida. No quiero utilizar la herramienta que trae VFP6 para las tablas porque es carente de presentación para los usuarios.
Nota: No soy un experto en programación, este es my hobby.
Gracias: JOSE MANUEL DURAN

1 respuesta

Respuesta
1
Jose:
Para validar los datos de un formulario te conviene utilizar el evento click del botón grabar.
Otra posibilidad, esto depende de como quieras hacerlo, es utilizar el evento valid de los textbox. Si el evento devuelve falso (.f.) No se perderá el enfoque ( no ocurrirá el evento lostfocus) sobre ese control. Ten en cuenta de dar la posibilidad de salir de alguna manera sin poner dato ya que sino quedarías preso en ese control al punto de tener que brequear la aplicación.
Y si lo que quieres hacer es evitar la duplicación de un registro en la tabla, lo que debes hacer es una búsqueda por la clave principal del archivo antes de hacer el append blank y/o los replace, si la búsqueda (SEEK) devuelve eof()=.t. ya existe, sino lo agregas.
Hola JUAN CARLOS .Gracias por tu respuesta, pero me quedan las siguientes inquietudes:
1. Si utilizo el evento click del grabar, el usuario pierde mucho tiempo porque digitaria todos los datos del formulario. Te cuento que ya lo he utilizado pero el programa no me valida.
2.Ya hice el intento con el seek del pero tampoco me ha funcionado. Lo e intentantado de varias maneras pero no he podido y estoy al borde de la desesperación.
En realidad estoy pensando desinstalar el VFP6 y volverlo a instalar creo que de esta manera me funcionará.
Quedare bastante agradecido si me puedes enviar el código que utilizarías en el valid, por que ya lo he intentado.
Gracias por tu recomendación y quedo en espera de tu respuesta.
Saludos
Jose Manuel duran rojas
Jose:
Desinstalar y volver a instalar no te soluciona problemas de programa. Aunque si dices que el click no te funciona, el problema es grave y más general que solo del formulario.
Este es el código para validar un dato en un textbox del formulario. Colocalo en el evento valid del text
IF EMPTY(THIS.Value)
RETURN .T.
ENDIF
THIS.Value=PADL(ALLTRIM(THIS.Value),5,"0")
SELECT PROVEEDO
SEEK THIS.Value
IF EOF()
THIS.Value=""
RETURN .F.
ENDIF
THISFORM.TxtNombre_Pro.Value=PROVEEDO.NOMBRE
RETURN 2
Por otro lado, el seek no te puede fallar. El problema que te puede estar ocurriendo puede tener que ver en la manero en que lo aplicas. Verifica el set exact y el order del indice sobre el que buscas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas