FoxPro/Visual FoxPro - ERROR 1925

 
Vista:

ERROR 1925

Publicado por Juanma (503 intervenciones) el 14/05/2005 01:08:16
Hola ... tengo un formulaio con un text "inm_des2, para buscar datos por un campo de la tabla, filtrarlos y mostrarle mas abajo en un grid ....
En la propiedad interactivechange he puesto esto:

IF EMPTY(THISFORM.INM_DES2.VALUE)=.F.
SET FILTER TO
SET FILTER TO normalize(thisform.inm_des2.value)$inm_des
go top
thisform.grdinmov.refresh()
ENDIF

funciona bien ... pero cuando temino del formulario pulsando esc, para lo cual tengo puesto en Keypres "thisform,release" ... y me envia al formulario anterior de llamada, y pulso cualquier objeto de este formulario m sale el error:

ERROR 1925
INM_DES2 ES UN MIEMBRO DESCONOCIDO

En este formulario no esta el objeto INM_DES2 ... y no entido porque me da el error.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ERROR 1925

Publicado por wences (8 intervenciones) el 14/05/2005 08:48:47
El problema esta me temo en el interactivechange , se ejecuta al salir si tiene el foco y da error ... porque no pones esa instruccion en el valid , por ejemplo... y tambien puedes usar en el campo en el controlsource uan vaariable de memoria m.mivalor y preguntar por ella ... tampoco necesitas la .F. final de la pregunta , sino algo asi if not empty(loque sea)
y el resto

es decir se ejecuta si no esta vacio ...

Espero te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:ERROR 1925

Publicado por Manuel (344 intervenciones) el 14/05/2005 16:40:41
El problema es por el filtro.
La tabla que estás usando en un formulario también las estás usando en el otro. Cuando vuelve para refrescar los datos, VFP siempre toma en cuenta el filtro actual de la tabla, y se encuentra con una expresión que incluye THISFORM.AlgúnControl.Value
1. Si el filtro creado en el segundo no te servirá para el primero, al salir del segundo haz esto:
SELE TuTabla
SET FILTER TO
THISFORM.RELEASE
2. Otra forma es que si tienes también entorno de datos en el segundo, le pongas un alias diferente. eso te cambiaría los ControlSource... o te haría cambiarlos.
3. Una tercera solución consiste en declarar una variable pública en el LOAD() del primero y en el segundo hacer así:
TuVariablePública=thisform.inm_des2.value
SELE TuTabla
SET FILT TO
SET FILT TO TuVariablePública$inm_des
Si haces esto, recuerda que en el UNLOAD() del primero debes liberar la variable con RELEASE TuVariablePública.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ERROR 1925

Publicado por Juanma (503 intervenciones) el 15/05/2005 23:45:28
Gracias .... solucionado cerrando el filtro al salir .....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar