Validar datos en un Grid

357 views
Skip to first unread message

Roberto Lemos

unread,
Jan 3, 2010, 5:38:14 PM1/3/10
to mundovis...@googlegroups.com
Hola Amigos, y Feliz Año a todos,
 
Tengo una inquietud, necesita validar los datos que voy ingresando en un Grid, esto lo hago en el valid, del text de la columna respectiva, hasta aqui no tengo problemas, pero si presiona las teclas flecha abajo o arriba ignora la validacion y ya no no me da la seguridad de lo que estoy ingresando es lo correcto, hay alguna forma de validar esto?
 
 


__________ Información de ESET Smart Security, versión de la base de firmas de virus 4740 (20100103) __________

ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

Cristobal Galvan

unread,
Jan 3, 2010, 8:59:51 PM1/3/10
to mundovis...@googlegroups.com
Codigo del evento KEYPRESS del Text1 (grid1.column1.text1)

LPARAMETERS nKeyCode, nShiftAltCtrl

IF nKeyCode = 24        && Flecha Abajo
    This.Valid()
ENDIF


Cristobal E. Galvan Nicasio




From: lemo...@gmail.com
To: mundovis...@googlegroups.com
Subject: [Mundo Visual FoxPro] Validar datos en un Grid
Date: Sun, 3 Jan 2010 17:38:14 -0500
--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com

49 habitantes, 49 expertos en Windows 7. Así es Sietes, ¡Visítalo!

eduardo

unread,
Jan 4, 2010, 4:56:44 AM1/4/10
to Mundo Visual FoxPro
Utiliza valid o set focus, segun te convenga para validar datos
Eduardo

Roberto Lemos

unread,
Jan 4, 2010, 7:22:24 AM1/4/10
to mundovis...@googlegroups.com
Hola Cristobal, gracias por responder
 
Lo que intento hacer es lo siguiente, tengo un form de ingresos en el cual necesito registrar los numeros de series de Maquinas Registradoras, lo que deseo validar es que las Series Ingresadas no se encuentren ya registradas en la tabla maestra y que ademas no se encuentren en el Cursor temporal que he creado para asociarlo al Grid, en el cual ingreso los numeros de serie
 
 
 
__________ Información de ESET Smart Security, versión de la base de firmas de virus 4741 (20100104) __________


ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com


__________ Información de ESET Smart Security, versión de la base de firmas de virus 4741 (20100104) __________

Cristobal Galvan

unread,
Jan 4, 2010, 7:43:08 AM1/4/10
to mundovis...@googlegroups.com
Para validar dentro del mismo cursor de captura, crea un procedimiento desde el metodo VALID del TEXT1

if !empty(This.Value)
    if ThisForm.ValidSeries(Trim(This.Value))
        messagebox("EL CODIGO YA EXISTE")
   ENDIF
endif

PROCEDURE VALIDARSERIES (parValor)
   Select miCursor
   STORE RECNO() TO nOldPosicion
   LOCATE/SEEK FOR MICAMPO = parValor
   if found()
       Encontrado = .F.
  ELSE
       Encontrado = .T.
   ENDIF
   go (nOldPosicion)
  Rreturn Encontrado
ENDPROCE


Cristobal E. Galvan Nicasio




From: lemo...@gmail.com
To: mundovis...@googlegroups.com
Subject: Re: [Mundo Visual FoxPro] Validar datos en un Grid
Date: Mon, 4 Jan 2010 07:22:24 -0500
Date una vuelta por Sietes y conoce el pueblo de los expertos en Windows 7

Roberto Lemos

unread,
Jan 4, 2010, 7:49:58 AM1/4/10
to mundovis...@googlegroups.com
Donde creo el Procedimiento?
 
 
__________ Información de ESET Smart Security, versión de la base de firmas de virus 4742 (20100104) __________


ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com


__________ Información de ESET Smart Security, versión de la base de firmas de virus 4742 (20100104) __________

Cristobal Galvan

unread,
Jan 4, 2010, 2:21:22 PM1/4/10
to mundovis...@googlegroups.com
En el mismo formulario o bien en un PRG (set procedure to)


Cristobal E. Galvan Nicasio




From: lemo...@gmail.com
To: mundovis...@googlegroups.com
Subject: Re: [Mundo Visual FoxPro] Validar datos en un Grid
Date: Mon, 4 Jan 2010 07:49:58 -0500
Hasta las ovejas de Sietes son expertas en Windows 7. ¡Conócelas!

Roberto Lemos

unread,
Jan 5, 2010, 6:08:55 AM1/5/10
to mundovis...@googlegroups.com
Hola Amigo, tu codigo no funciona,
 
- Cuando valido en el Metodo Valid, antes de Validar me graba el dato ingresado por consecuencia siempre encuentra el dato ingresado
----- Original Message -----
Sent: Monday, January 04, 2010 7:43 AM
__________ Información de ESET Smart Security, versión de la base de firmas de virus 4742 (20100104) __________


ESET Smart Security ha comprobado este mensaje.

http://www.eset.com

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com


__________ Información de ESET Smart Security, versión de la base de firmas de virus 4744 (20100105) __________

eduardo

unread,
Jan 5, 2010, 5:40:57 PM1/5/10
to Mundo Visual FoxPro
Prueba con esta modificacion sobre el código anterior colocado en el
valid del control

Lerror = .f.
* Busqueda en el cursor actual
if !empty(This.Value)
CValor = this.value

*=========================================================================
* suponiendo que Micursor es el origen de datos de la grilla y
Cvalor es dato que quiero controlar

*==========================================================================
posicion = recn('micursor')

*====================================================================
* trata de encontrar un valor en el resto del cursor, exceptuando el
que acabo de ingresar

*====================================================================
locate for micursor.valor = Cvalor and recn('micursor') # posicion
if found() && hay otro valor repetido dentro del cursor
Lerror = .t.
endif

*=======================
* busca en el registro historico
*=======================
if Lerror = .f.
<codigo de busqueda>
if found()
L error = .t.
endif
endif
endif

sele Micursor
go posicion
if Lerror = .t.
messagebox('Valor existente')
Return thisform.grid1.columnx.xxxxxxxxxx
endif

Mario Alfredo Oviedo

unread,
Jan 5, 2010, 6:45:31 PM1/5/10
to Mundo Visual FoxPro
este codigo lo unico malo que tiene es que no tiene un return 0,
cuando existe, solo envia el mensaje pero continua y por consiguiente
lo graba


if !empty(This.Value)
if ThisForm.ValidSeries(Trim(This.Value))
messagebox("EL CODIGO YA EXISTE")

*aqui debe llevar return 0, para que no continue si ya existe

ENDIF
endif

Reply all
Reply to author
Forward
0 new messages