- Code: Select all Expand view RUN
LOCAL cCadena:="MANUEL"
SET FILTER TO AT(cCadena, _FIELD->NOMBRE) > 0
//Este filtro, funciona perfectamente.
Ahora supongamos, que en vez de usar este código, usamos este otro:
- Code: Select all Expand view RUN
LOCAL cCadena:="MANUEL"
LOCAL cFiltro, bFiltro
cFiltro:="AT(cCadena, _FIELD->NOMBRE) > 0"
bFiltro:="{||"+cFiltro+"}"
DBSETFILTER(&bFiltro, cFiltro)
Si lo hago así, recibo un error en tiempo de ejecución que me señala que DBSETFILTER no reconoce la variable cCadena, pero en cambio el SET FILTER si.
He intentado mandarla como 'parametro' al codeblock:
- Code: Select all Expand view RUN
bFiltro:="{|cCadena|"+cFiltro+"}"
¿Como puedo hacer para que DBSETFILTER me reconozca la variable local? Curioso es que este trozo de código tampoco funciona.
- Code: Select all Expand view RUN
SET FILTER TO AT(cCadena, _FIELD->NOMBRE) > 0 //Establezco el filtro
cFiltro:=DBFILTER() //Lo envio a una cadena de caracteres
DBCLEARFILTER() //Elimino filtros activos
bFiltro:="{||"+cFiltro+"}"
DBSETFILTER(&bFiltro, cFiltro) //Lo asigno...
Provoca el mismo error en tiempo de ejecución. ¿Alguna sugerencia? Gracias de antemano.