¿Cómo hago para buscar en una tabla el valor de un cuadro de texto que acabo de ingresar?.

Hola experto.Te explico. Tengo una tabla llamada asignatura con 2 campos "materia y id_asig" que seria la clave. En mi formulario tengo un cuadro de texto donde ingreso el nombre de la asignatura. Quiero saber como hago para que la maquina busque ese valor dentro de la tabla; para saber si ya existe y así mandar un mensaje. Intente haciendo ésto

SELECT asignatura
GO TOP
DO WHILE !EOF()
IF thisform.asignatura.Value=asignatura.materia
MESSAGEBOX("El registro si existe",0+48,"Error")
ELSE
MESSAGEBOX("El registro no existe",0+48,"Error")
ENDIF
SKIP
ENDDO

Pero lo que hace es: si yo ingreso un nombre existente me arroja el mensaje de que si existe y los otros no, pero si, ingreso un nombre que está al final de la tabla, no lo reconoce.¿Que pasa?

1 Respuesta

Respuesta
1

Espero poder ayudarte! :) Proba así

LOCAL lcMateria

lnMateria = ALLTRIM(THISFORM.Text1.Value)

*--EL text1 es donde introducís el código a buscar

SELECT asignatura

GO TOP

LOCATE FOR asignatura.materia = lcMateria

IF FOUND()

MESSAGEBOX("El registro si existe",0+48,"Error")

RETURN

ELSE

MESSAGEBOX("El registro no existe",0+48,"Error")

ENDIF

Ves! :) O también podes probar así

LOCAL lcMateria
lnMateria = ALLTRIM(THISFORM.Text1.Value)
*--EL text1 es donde introducís el código a buscar
SELECT asignatura
GO TOP

SCAN

IF asignatura.materia = lcMateria

MESSAGEBOX("MENSAJE")

ELSE

MESSAGEBOX("MENSAJE2")

ENDIF

ENDSCAN

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas