error validar campo en blanco

85 views
Skip to first unread message

Ives Andrey Rodríguez

unread,
Nov 10, 2022, 11:57:37 AM11/10/22
to Comunidad de Visual Foxpro en Español
en un form estoy modificando un metodo que guarda datos a una tabla, pero debo verificar que solo se agregue el campo marcado a los nuevos registros.

este es el metodo para verificar si el campo esta en blanco.

select cliente
Scatter Memo Blank Name  regEnBlanco
Scatter Memo Name marcado
if regEnBlanco == marcado
 LOCAL registrado
    registrado = 1
    Replace cliente.marcado With registrado
else
messagebox( "No esta en blanco" )
endif

pero en la linea if regEnBlanco == marcado, me sale el error operator/operand mismatch

ggcagnola gmail

unread,
Nov 10, 2022, 11:59:54 AM11/10/22
to publice...@googlegroups.com

hay que comparar datos del MISMO tipo...

--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/20effd8c-def5-42bc-8d40-2e878135f5b0n%40googlegroups.com.

Ives Andrey Rodríguez

unread,
Nov 10, 2022, 11:59:58 AM11/10/22
to Comunidad de Visual Foxpro en Español
para crear los datos de la tabla  hago primero  selecciono la tabla, append blank y luego replace

Ives Andrey Rodríguez

unread,
Nov 10, 2022, 12:01:46 PM11/10/22
to Comunidad de Visual Foxpro en Español
como se puede verificar que el campo esta en blanco?

Zarlu

unread,
Nov 10, 2022, 4:23:45 PM11/10/22
to Comunidad de Visual Foxpro en Español
Qué tal iarodriguez !

Empty()

Suerte
zarlu
Chetumal, Quintana Roo, México

Fidel Charny

unread,
Nov 11, 2022, 3:14:05 PM11/11/22
to Comunidad de Visual Foxpro en Español
Hola iarodriguez

LOCAL loScatt as Object
SELECT (lcCursor)
SCATTER NAME loScatt
El comando SCATTER NAME loScatt crea una variable tipo Object cuyas propiedades son los nombres de campo del cursor del área seleccionada y los valores de dichas propiedades son los valores que tiene la tabla o cursor en el registro del puntero. La palabra clave BLANK consigue que dichos valores sean equivalentes a los del registro en blanco, respetando el tipo de datos en cada caso. La palabra clave MEMO, logra que se incluyan los campos memo dentro del objeto.
Si el cursor (lcCursor) tiene unos campos que se llaman NOMBRE,FECHA, MONTO, la consulta al objeto loScatt puede ser:
? loScatt.Nombre
? loScatt.Fecha
? loScatt.Monto

Y, por supuesto:   ? EMPTY(loScatt.Nombre) && devuelve un Logical (.F. / .T. )

El error que te salta en la comparación, es porque no pueden compararse dos objetos por sus nombres. Eso es un poco más complejo.
De modo que, en tu ejemplo, regEnBlanco y Marcado son dos objetos.

Si quieres limitar la cantidad de campos a incluir en el objeto (loScatt), puedes utilizar
[FIELDS FieldNameList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton]

De todos modos, la respuesta para tu problema debe ser la que dió Zarlu: EMPTY()

jose daniel camilo ruiz

unread,
Nov 14, 2022, 7:03:27 AM11/14/22
to Comunidad de Visual Foxpro en Español
buendia 
regEnBlanco no lo inicializaste por eso por defecto esta en booleano 

en el init del checkbox pon this.value = 1 que es lo mismo que activado, si quiere que salda desactivado entonces inicialízalo en 0

Reply all
Reply to author
Forward
0 new messages