Búsqueda con Locate for en dos campos

Hola Experto
utilizo este código para hacer una búsqueda con locate for para buscar dos registros en dos campos.
mNie = (Thisform.Text1.Value)
mLec = (Thisform.Text2.Value)
LOCATE FOR (alltrim(Inscripción.Nie)) == alltrim(mNie) AND (alltrim(Inscripción.Lec)) == alltrim(mLec)
IF FOUND()
Encon = 1
Thisform.Release
ELSE
MESSAGEBOX("El Registro no existe",64,"Atención")
THISFORM.VISIBLE = .T.
RETURN 0
Thisform.Text1.Value = ""
Thisform.Text2.Value = ""
ENDIF

El campo NIE es de tipo carácter y el campo LEC tipo numérico
pero me muestra un error que dice: El valor o tipo de argumentos no es valido para la función.

esto lo puedo hacer con código SQL, pero quiero aprender a hacerlo con código Fox

Esta linea también la aplico así:

LOCATE FOR (alltrim(Inscripción.Nie)) == alltrim(mNie) AND (Inscripción.Lec) = (mLec)

pero no encuentra el regisrtro. Me muestra el mensaje que no lo encontró.


Como puedo solucionarlo

1 respuesta

Respuesta
1

En esta linea

LOCATE FOR (alltrim(Inscripción.Nie)) == alltrim(mNie) AND (alltrim(Inscripción.Lec)) == alltrim(mLec) te marca error porque el campo LEC es numérico y le estas aplicando una función que es para caracteres en este caso alltrim, ahora también debes ver si el control text2 es tipo carácter o numérico que puede ser la razón por la cual la segunda instrucción te muestra siempre que no lo encontró, verifica esos puntos por lo demás no te debe dar ningún problema, suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas