Como establecer filtro en un browse
Hola a todos, resulta que estoy en pañales en el entorno de programacion de visual foxpro, pero con ganas de aprender a usarlo.
Mi problema es el siguiente, no puedo hacer funcionar un filtro al activar un browse, si uso un seek o un locate funciona, pero si establesco el filtro no. Para mejor claridad anexo el codigo correspondiente:
SELECT tabla
GO top
*SET FILTER TO thisform.campoentrada21.Value=ini_estr.clave2
*set filter to substr(clave2,1)=thisform.campoentrada21.Value
LOCATE FOR thisform.campoentrada21.Value=ini_estr.clave2
on key label rightmouse keyboard chr(23)
browse nomodify noappend
if lastkey()=27
a=recno()
go a
endif
on key label rightmouse
Editando = .t.
thisform.show
thisform.habilitacampos
Mi problema es el siguiente, no puedo hacer funcionar un filtro al activar un browse, si uso un seek o un locate funciona, pero si establesco el filtro no. Para mejor claridad anexo el codigo correspondiente:
SELECT tabla
GO top
*SET FILTER TO thisform.campoentrada21.Value=ini_estr.clave2
*set filter to substr(clave2,1)=thisform.campoentrada21.Value
LOCATE FOR thisform.campoentrada21.Value=ini_estr.clave2
on key label rightmouse keyboard chr(23)
browse nomodify noappend
if lastkey()=27
a=recno()
go a
endif
on key label rightmouse
Editando = .t.
thisform.show
thisform.habilitacampos
Yo resuelvo esa cuestión estableciendo de nuevo el controlsource del grid en función de si quiero que aparezca la línea o que sea en blanco, más o menos así:
Thisform.grid1.column1.controlsource="iif (expedien.numcliente=ncli, expedien.numero, '')"
Thisform.grid1.column1.controlsource="iif (expedien.numcliente=ncli, expedien.numero, '')"
nada como usar las instrucciones como lo dice el manual. aqui te mando la sintaxis del browse.
En el for esta la solucion de tu problema.
BROWSE
[FIELDS ListaCampos]
[FONT cNombreFuente [, nTamañoFuente]]
[STYLE cEstiloFuente]
[FOR lExpresión1 [REST]]
[FORMAT]
[FREEZE NombreCampo]
[KEY eExpresión1 [, eExpresión2]]
[LAST | NOINIT]
[LOCK nNúmeroCampos]
[LPARTITION]
[NAME NombreObjeto]
[NOAPPEND]
[NODELETE]
[NOEDIT | NOMODIFY]
[NOLGRID] [NORGRID]
[NOLINK]
[NOMENU]
[NOOPTIMIZE]
[NOREFRESH]
[NORMAL]
[NOWAIT]
[PARTITION nNúmeroColumna [LEDIT] [REDIT]]
[PREFERENCE NombrePreferencia]
[SAVE]
[TIMEOUT nSegundos]
[TITLE cTextoTítulo]
[VALID [:F] lExpresión2 [ERROR cTextoMensaje]]
[WHEN lExpresión3]
[WIDTH nAnchoCampo]
[WINDOW NombreVentana1]
[IN [WINDOW] NombreVentana2 | IN SCREEN]
[COLOR SCHEME nNúmeroEsquema]
En el for esta la solucion de tu problema.
BROWSE
[FIELDS ListaCampos]
[FONT cNombreFuente [, nTamañoFuente]]
[STYLE cEstiloFuente]
[FOR lExpresión1 [REST]]
[FORMAT]
[FREEZE NombreCampo]
[KEY eExpresión1 [, eExpresión2]]
[LAST | NOINIT]
[LOCK nNúmeroCampos]
[LPARTITION]
[NAME NombreObjeto]
[NOAPPEND]
[NODELETE]
[NOEDIT | NOMODIFY]
[NOLGRID] [NORGRID]
[NOLINK]
[NOMENU]
[NOOPTIMIZE]
[NOREFRESH]
[NORMAL]
[NOWAIT]
[PARTITION nNúmeroColumna [LEDIT] [REDIT]]
[PREFERENCE NombrePreferencia]
[SAVE]
[TIMEOUT nSegundos]
[TITLE cTextoTítulo]
[VALID [:F] lExpresión2 [ERROR cTextoMensaje]]
[WHEN lExpresión3]
[WIDTH nAnchoCampo]
[WINDOW NombreVentana1]
[IN [WINDOW] NombreVentana2 | IN SCREEN]
[COLOR SCHEME nNúmeroEsquema]