In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Calculated fields
- Marcelo Coelho Silva
- Mensajes: 269
- Registrado: Sab May 31, 2008 4:49 pm
- Ubicación: Brasil
- Contactar:
Calculated fields
Senhores,
Estou tendo problemas ao utilizar os "Calculated fields" do TDBFDATASET do Xaliler (4.0.2).
Sendo:
oDbf1 e oDbf2 // TDBFDATASET
oDbf1:AddCalcField( "CAL_FIELD", {|oField| ................... } ) // CAL_FIELD é um "Calculated fields"
oBrw // TDBBROWSE
oColumn1 // TBrwColumn de oBrw
Não Funciona:
oColumn1:FilterEval := "UPPER('%') $ UPPER( CAL_FIELD )"
oDbf:SetRelation( "CAL_FIELD", oDbf2 )
Como faço para utilizar um "Calculated fields" como um FIELD normal ?
Obrigado,
Marcelo Coelho Silva
Brasil.
Estou tendo problemas ao utilizar os "Calculated fields" do TDBFDATASET do Xaliler (4.0.2).
Sendo:
oDbf1 e oDbf2 // TDBFDATASET
oDbf1:AddCalcField( "CAL_FIELD", {|oField| ................... } ) // CAL_FIELD é um "Calculated fields"
oBrw // TDBBROWSE
oColumn1 // TBrwColumn de oBrw
Não Funciona:
oColumn1:FilterEval := "UPPER('%') $ UPPER( CAL_FIELD )"
oDbf:SetRelation( "CAL_FIELD", oDbf2 )
Como faço para utilizar um "Calculated fields" como um FIELD normal ?
Obrigado,
Marcelo Coelho Silva
Brasil.
Att.
Marcelo Coelho Silva
Brasil.
Marcelo Coelho Silva
Brasil.
Re: Calculated fields
Anigo Marcelo, cuando creas un campo calculado, este se agrega en forma automatica a la matriz de campo cálculados aUserFields, la cual es el almacen de objetos TDataField con todos los campos calculados o nuevos campos virtuales creados por ti para ese DataSet. Despues tu lo usas como requieras.
Mi nombre es Raúl Olivares G., desde 2007 poseo una licencia de Xailer Enterprise, la cual he mantenido actualizada hasta el día de hoy, y desde hace años me dedico a impartir cursos en línea de Xailer x.0 y de MariaDb x.0 a la comunidad de usuarios de Xailer.
Ing. Raúl Olivares G.
http://www.informaticaoverlisa.mx
info@informaticaoverlisa.mx
meridiano74@prodigy.net.mx
52(33)3366-7516
Mi nombre es Raúl Olivares G., desde 2007 poseo una licencia de Xailer Enterprise, la cual he mantenido actualizada hasta el día de hoy, y desde hace años me dedico a impartir cursos en línea de Xailer x.0 y de MariaDb x.0 a la comunidad de usuarios de Xailer.
Ing. Raúl Olivares G.
http://www.informaticaoverlisa.mx
info@informaticaoverlisa.mx
meridiano74@prodigy.net.mx
52(33)3366-7516
Saludos amigos.
- Marcelo Coelho Silva
- Mensajes: 269
- Registrado: Sab May 31, 2008 4:49 pm
- Ubicación: Brasil
- Contactar:
Re: Calculated fields
Amigo Raúl ,
Gostria de saber como utiliza-los nestes casos.
Obrigado,
Obrigado pela atenção. Conforme explicado na minha mensagem anterior, em algumas situações eles não funcionam. Por exemplo como parte de um relacionamento (SetRelation), exemplo oDbf:SetRelation( "CAL_FIELD", oDbf2 ) ou como parte da expreção dos filtro de um TDBBROWSE, exemplo oColumn1:FilterEval := "UPPER('%') $ UPPER( CAL_FIELD )"Rich escribió:Anigo Marcelo, cuando creas un campo calculado, este se agrega en forma automatica a la matriz de campo cálculados aUserFields, la cual es el almacen de objetos TDataField con todos los campos calculados o nuevos campos virtuales creados por ti para ese DataSet. Despues tu lo usas como requieras.
Gostria de saber como utiliza-los nestes casos.
Obrigado,
Att.
Marcelo Coelho Silva
Brasil.
Marcelo Coelho Silva
Brasil.
Re: Calculated fields
Amigo Marcelo, me parece que he visto algunos comentarios tuyos en estos foros sobre MariaDB. Quizas puedas enfocar la solución de esta necesidad reemplazando los dbf's de la aplicación que mencionas, por tablas de MariaDB, ya que este RDBMS ademas de manejar campos calculados de manera mas eficiente que Xailer, tambien te permitiría llevar a cabo una query, subquery o join con nas eficiencia y rapidez. Hace más de ocho años que deje de usar dbf's como medio de almacenamiento principal de los datos de mis aplicaciones, y si bien es cierto que aun uso dbf's, lo hago en forma esporádica y muy simple. Espero haberte ayudado.
Mi nombre es Raúl Olivares G., desde 2007 poseo una licencia de Xailer Enterprise, la cual he mantenido actualizada hasta el día de hoy, y desde hace años me dedico a impartir cursos en línea de Xailer x.0 y de MariaDb x.0 a la comunidad de usuarios de Xailer.
Ing. Raúl Olivares G.
http://www.informaticaoverlisa.mx
info@informaticaoverlisa.mx
meridiano74@prodigy.net.mx
52(33)3366-7516
Mi nombre es Raúl Olivares G., desde 2007 poseo una licencia de Xailer Enterprise, la cual he mantenido actualizada hasta el día de hoy, y desde hace años me dedico a impartir cursos en línea de Xailer x.0 y de MariaDb x.0 a la comunidad de usuarios de Xailer.
Ing. Raúl Olivares G.
http://www.informaticaoverlisa.mx
info@informaticaoverlisa.mx
meridiano74@prodigy.net.mx
52(33)3366-7516
Saludos amigos.
- ignacio
- Site Admin
- Mensajes: 9257
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Calculated fields
xailer\samples\datacontrols\DbfData1
Saludos
Saludos
- Marcelo Coelho Silva
- Mensajes: 269
- Registrado: Sab May 31, 2008 4:49 pm
- Ubicación: Brasil
- Contactar:
Re: Calculated fields
Prezado Ignacio,
Uma solução, pelo menos para os filtros do TDBBROWSE, seria a existencia de uma macro que contivesse o valor do "Buffer" da Coluna do Browse.
exemplo:
oColumn1:FilterEval := "UPPER('%') $ UPPER( ´@´ )"
sendo '@' (um exemplo) uma macro que contenha o valor do "Buffer" da coluna do TDBBROWSE, da mesma forma que '%' , contem o valor do buffer de edição do filtro.
O exemplo acima possui o mesmo proplema citado acima, ou seja, o "Calculated fields" não pode ser utilizado como um campo normal na expressão que avalia o Filtro.ignacio escribió:xailer\samples\datacontrols\DbfData1
Saludos
Uma solução, pelo menos para os filtros do TDBBROWSE, seria a existencia de uma macro que contivesse o valor do "Buffer" da Coluna do Browse.
exemplo:
oColumn1:FilterEval := "UPPER('%') $ UPPER( ´@´ )"
sendo '@' (um exemplo) uma macro que contenha o valor do "Buffer" da coluna do TDBBROWSE, da mesma forma que '%' , contem o valor do buffer de edição do filtro.
Att.
Marcelo Coelho Silva
Brasil.
Marcelo Coelho Silva
Brasil.
- ignacio
- Site Admin
- Mensajes: 9257
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Calculated fields
Buenos días,
El comando SET FILTER no entiende de campos calculados que se realicen por fuera. El día en que Harbour cree campos calculados sobre tablas DBF a lo mejor podremos adaptarlo. Mientras tanto la solución la tiene en el ejemplo que le comento.
En vez de:
oDbf1:AddCalcField( "CALCFIELD", {|o| o:oDataField:FIRST+o:oDataField:LAST } )
oColumn1:FilterEval := "UPPER('%') $ UPPER( ´CALCFIELD´ )"
Realice lo siguiente:
oDbf1:AddCalcField( "CALCFIELD", {|o| o:oDataField:FIRST+o:oDataField:LAST } )
oColumn1:FilterEval := "UPPER('%') $ UPPER( FIRST+LAST )"
O mejor aún, olvídese de los DBF
Saludos
El comando SET FILTER no entiende de campos calculados que se realicen por fuera. El día en que Harbour cree campos calculados sobre tablas DBF a lo mejor podremos adaptarlo. Mientras tanto la solución la tiene en el ejemplo que le comento.
En vez de:
oDbf1:AddCalcField( "CALCFIELD", {|o| o:oDataField:FIRST+o:oDataField:LAST } )
oColumn1:FilterEval := "UPPER('%') $ UPPER( ´CALCFIELD´ )"
Realice lo siguiente:
oDbf1:AddCalcField( "CALCFIELD", {|o| o:oDataField:FIRST+o:oDataField:LAST } )
oColumn1:FilterEval := "UPPER('%') $ UPPER( FIRST+LAST )"
O mejor aún, olvídese de los DBF
Saludos
- Marcelo Coelho Silva
- Mensajes: 269
- Registrado: Sab May 31, 2008 4:49 pm
- Ubicación: Brasil
- Contactar:
Re: Calculated fields
Prezado Ignacio,
Quando o Calculated Field é uma função Complexa, fica dificil coloca-la dentro do SET FILTER. Uma solução seria a criação dentro do Componete TDBBROWSE de uma macro (da mesma forma que a macro '%') que possuisse o valor do Buffer a ser comparado.
Seria muito complicado a implementação desta macro ?
Quando o Calculated Field é uma função Complexa, fica dificil coloca-la dentro do SET FILTER. Uma solução seria a criação dentro do Componete TDBBROWSE de uma macro (da mesma forma que a macro '%') que possuisse o valor do Buffer a ser comparado.
Seria muito complicado a implementação desta macro ?
Att.
Marcelo Coelho Silva
Brasil.
Marcelo Coelho Silva
Brasil.