Página 1 de 1

Filtrar Campo Calculado

Publicado: Lun Ene 19, 2009 6:46 pm
por zeasoftware
Tengo un campo calculado asi:
:AddCalcField( "dUltVenta", {|o| zDtoStr(o:oDataSet:UltFVenta, "dd-mmm-yyyy") }):cType := "C"
esto devuelve:
"10-Ene-2009"

y en la columna cuando quiero filtrar no me hace nada, ingreso:
"10-Ene" y nada.....
.... despues de varias pruebas, he modificado el SetFilter del browse y resulta que marca error:
Subsistema: BASE
Código de error: 1003
Estado: .F.
Descripción: No existe la variable
Operación: DULTVENTA
Argumentos:
Fichero:
Código error SO: 0
A que se debe?
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com
--

Filtrar Campo Calculado

Publicado: Mié Ene 21, 2009 1:12 pm
por Rene Flores
Ramón:
No puedes filtrar sobre un campo calculado porque NO EXISTE, el bloque
de codigo que lo define se utiliza unicamente para efectos de pintado y
se calcula en el momento que el browse lo pinta en la pantalla, luego
ese valor no esta almacenado en ningun lado con lo cual no puedes
filtrar sobre ese campo.
Saludos
Rene Flores
http://www.ciber-tec.com
Zea escribió:
> Tengo un campo calculado asi:
>
> * :AddCalcField( "dUltVenta", {|o| zDtoStr(o:oDataSet:UltFVenta,
> "dd-mmm-yyyy") }):cType := "C"*
> esto devuelve:
> / "10-Ene-2009"
> /
> y en la columna cuando quiero filtrar no me hace nada, ingreso:
> /"10-Ene"/ y nada.....
> ... despues de varias pruebas, he modificado el SetFilter del browse y
> resulta que marca error:
>
> Subsistema: BASE
> Código de error: 1003
> Estado: ..F.
> Descripción: No existe la variable
> Operación: DULTVENTA
> Argumentos:
> Fichero:
> Código error SO: 0
>
> A que se debe?
>
> Saludos.
> --
> Ramón Zea
> 01.993.231-62-29
> http://www.paginasprodigy.com/zeasoftware/
> zeasoftware@prodigy.net.mx <mailto:zeasoftware@prodigy.net.mx>
> zeasoftware@hotmail.com <mailto:zeasoftware@hotmail.com>
> ramonzea@yahoo.com <mailto:ramonzea@yahoo.com>
> zeasoft.movil@hotmail.com <mailto:zeasoft.movil@hotmail.com>
> dirza_com@hotmail.com <mailto:dirza_com@hotmail.com>

Filtrar Campo Calculado

Publicado: Mié Ene 21, 2009 5:52 pm
por zeasoftware
Gracias master.
De todos modos estoy buscnado, por que si sirve para pintar, tambien
puede servir para filtrar, es cueston entonces de estudiar un poco mas el
SetFiler de TBrowse.
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com

Filtrar Campo Calculado

Publicado: Mié Ene 21, 2009 7:00 pm
por Rene Flores
Ramón:
> De todos modos estoy buscnado, por que si sirve para pintar, tambien
> puede servir para filtrar, es cueston entonces de estudiar un poco mas
> el SetFiler de TBrowse.
Pues va a ser que no, te explico, cuando estas trabajando en un TBrowse,
cada columna se pinta individualmente evaluando lo que esta en el bloque
de codigo definido como OnGetData.
Ese bloque de codigo devuelve un valor, dependiendo como este definido,
si es un camplo de la base de datos, entonce se devuelve dicho campo,
luego el valor que lo define esta almacenado en algun sitio, en este
caso, la tabla de datos.
En el caso de un arraybrowse, se devuelve array[renglon,columna], luego
el valor esta almacenado en un elemento del array.
La unica forma en la que podrias filtrar sobre un campo calculado, seria
modificar el evento OnGetData, para que hiciera algo asi como "valor del
filtro $ expresion del campo calculado".
Saludos
Rene Flores
http://www.ciber-tec.com
>
> Saludos.