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.
Report de un DBBrowse
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
¿Se pueden agregar columnas a un Reporte dentro de un For...Next?... la
idea es hacer un report de un browse, por ejm
For nI := 1 To Len( oBrw:aCols )
With Object oCol := oRpt:AddColumn()
:bHeader := { &( "{|| oBrw:aCols[" + Str(nI) + '] }' }
:bData := { &( "{|| oBrw:aCols[" + Str(nI) +
']:oDataField:FieldGet() }' }
End
Next
No se en que me estoy equivocando pero me da un error en runtime, cuando
evalúa el bData, el bHeader lo hace bien, si alguien tiene algún ejemplo o
se le ocurre alguna idea, será bienevenido.
Gracias.
Antonio F. Ortega
idea es hacer un report de un browse, por ejm
For nI := 1 To Len( oBrw:aCols )
With Object oCol := oRpt:AddColumn()
:bHeader := { &( "{|| oBrw:aCols[" + Str(nI) + '] }' }
:bData := { &( "{|| oBrw:aCols[" + Str(nI) +
']:oDataField:FieldGet() }' }
End
Next
No se en que me estoy equivocando pero me da un error en runtime, cuando
evalúa el bData, el bHeader lo hace bien, si alguien tiene algún ejemplo o
se le ocurre alguna idea, será bienevenido.
Gracias.
Antonio F. Ortega
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Report de un DBBrowse
Antonio,
El problema es que nI siempre vale para cualquier columna Len( oBrw:aCols )
+ 1 ya que es el valor que tiene cuando se ejecutan los codeblock.
El truco consiste en hacer lo que se llama 'detached locals' que se ha
explicado en multitud de ocasiones en este y otros foros de Harbour. Te
ruego por favor lo busques entre los mensajes del foro. Gracias
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje
news:47219fb7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> ¿Se pueden agregar columnas a un Reporte dentro de un For...Next?... la
> idea es hacer un report de un browse, por ejm
>
> For nI := 1 To Len( oBrw:aCols )
> With Object oCol := oRpt:AddColumn()
> :bHeader := { &( "{|| oBrw:aCols[" + Str(nI) + '] }' }
> :bData := { &( "{|| oBrw:aCols[" + Str(nI) +
> ']:oDataField:FieldGet() }' }
> End
> Next
>
> No se en que me estoy equivocando pero me da un error en runtime, cuando
> evalúa el bData, el bHeader lo hace bien, si alguien tiene algún ejemplo o
> se le ocurre alguna idea, será bienevenido.
>
> Gracias.
>
> Antonio F. Ortega
>
El problema es que nI siempre vale para cualquier columna Len( oBrw:aCols )
+ 1 ya que es el valor que tiene cuando se ejecutan los codeblock.
El truco consiste en hacer lo que se llama 'detached locals' que se ha
explicado en multitud de ocasiones en este y otros foros de Harbour. Te
ruego por favor lo busques entre los mensajes del foro. Gracias
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje
news:47219fb7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> ¿Se pueden agregar columnas a un Reporte dentro de un For...Next?... la
> idea es hacer un report de un browse, por ejm
>
> For nI := 1 To Len( oBrw:aCols )
> With Object oCol := oRpt:AddColumn()
> :bHeader := { &( "{|| oBrw:aCols[" + Str(nI) + '] }' }
> :bData := { &( "{|| oBrw:aCols[" + Str(nI) +
> ']:oDataField:FieldGet() }' }
> End
> Next
>
> No se en que me estoy equivocando pero me da un error en runtime, cuando
> evalúa el bData, el bHeader lo hace bien, si alguien tiene algún ejemplo o
> se le ocurre alguna idea, será bienevenido.
>
> Gracias.
>
> Antonio F. Ortega
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 109
- Registrado: Lun Abr 02, 2007 10:12 am
Report de un DBBrowse
Antonio,
Hay un mensaje mio en el foro publico del 19.09 (TReport con arrays) en el
que pongo un ejemplo de como usar FOR ... NEXT con TReport. Mira a ver si te
vale.
Saludos
Jose A. Suarez
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje
news:47219fb7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> ¿Se pueden agregar columnas a un Reporte dentro de un For...Next?... la
> idea es hacer un report de un browse, por ejm
>
> For nI := 1 To Len( oBrw:aCols )
> With Object oCol := oRpt:AddColumn()
> :bHeader := { &( "{|| oBrw:aCols[" + Str(nI) + '] }' }
> :bData := { &( "{|| oBrw:aCols[" + Str(nI) +
> ']:oDataField:FieldGet() }' }
> End
> Next
>
> No se en que me estoy equivocando pero me da un error en runtime, cuando
> evalúa el bData, el bHeader lo hace bien, si alguien tiene algún ejemplo o
> se le ocurre alguna idea, será bienevenido.
>
> Gracias.
>
> Antonio F. Ortega
>
Hay un mensaje mio en el foro publico del 19.09 (TReport con arrays) en el
que pongo un ejemplo de como usar FOR ... NEXT con TReport. Mira a ver si te
vale.
Saludos
Jose A. Suarez
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje
news:47219fb7$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> ¿Se pueden agregar columnas a un Reporte dentro de un For...Next?... la
> idea es hacer un report de un browse, por ejm
>
> For nI := 1 To Len( oBrw:aCols )
> With Object oCol := oRpt:AddColumn()
> :bHeader := { &( "{|| oBrw:aCols[" + Str(nI) + '] }' }
> :bData := { &( "{|| oBrw:aCols[" + Str(nI) +
> ']:oDataField:FieldGet() }' }
> End
> Next
>
> No se en que me estoy equivocando pero me da un error en runtime, cuando
> evalúa el bData, el bHeader lo hace bien, si alguien tiene algún ejemplo o
> se le ocurre alguna idea, será bienevenido.
>
> Gracias.
>
> Antonio F. Ortega
>
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
Gracias JASM, claro que me vale, ya lo he visto y lo he aplicado
For nI := 1 To nLen
cDato := "oBrw:aArrayData[ nFila," + AllTrim( Str(nI) ) + " ]"
cTitle := "oBrw:aCols[" + AllStr(nI) + " ]:cHeader"
With Object oCol := oReport:AddColumn()
:aTitle := { { || &cTitle. } } **** ¿ Que es esto ? ****
:aData := { { || &cDato. } } **** ¿ Que es esto ? ****
:Create()
End With
Next
El &cTitle. no lo sabía no lo había visto nunca me reifiero claro esta al punto del final. por eso pregunto **** ¿Que es esto? ****
Ignacio:
lo de las 'detached locals' lo se y lo he aplicado ... pero aún así se ve que no lo he hecho bien y me daba un error en runtime , y pensé que había otra forma de hacerlo, de hecho que he encontrado lo que hizo JASM y no lo había visto nunca, no se si será también valido para los DBBrowse, si me lo puedes confirmar te lo agradeceré.
Gracias.
Antonio F. Ortega
--
For nI := 1 To nLen
cDato := "oBrw:aArrayData[ nFila," + AllTrim( Str(nI) ) + " ]"
cTitle := "oBrw:aCols[" + AllStr(nI) + " ]:cHeader"
With Object oCol := oReport:AddColumn()
:aTitle := { { || &cTitle. } } **** ¿ Que es esto ? ****
:aData := { { || &cDato. } } **** ¿ Que es esto ? ****
:Create()
End With
Next
El &cTitle. no lo sabía no lo había visto nunca me reifiero claro esta al punto del final. por eso pregunto **** ¿Que es esto? ****
Ignacio:
lo de las 'detached locals' lo se y lo he aplicado ... pero aún así se ve que no lo he hecho bien y me daba un error en runtime , y pensé que había otra forma de hacerlo, de hecho que he encontrado lo que hizo JASM y no lo había visto nunca, no se si será también valido para los DBBrowse, si me lo puedes confirmar te lo agradeceré.
Gracias.
Antonio F. Ortega
--
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Report de un DBBrowse
Antonio,
Jose Alfonso utiliza macros que también son perfectamente válidos (el punto indica el final de la macro) pero que no son 'detached locals'.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje news:4721bd8d$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Gracias JASM, claro que me vale, ya lo he visto y lo he aplicado
For nI := 1 To nLen
cDato := "oBrw:aArrayData[ nFila," + AllTrim( Str(nI) ) + " ]"
cTitle := "oBrw:aCols[" + AllStr(nI) + " ]:cHeader"
With Object oCol := oReport:AddColumn()
:aTitle := { { || &cTitle. } } **** ¿ Que es esto ? ****
:aData := { { || &cDato. } } **** ¿ Que es esto ? ****
:Create()
End With
Next
El &cTitle. no lo sabía no lo había visto nunca me reifiero claro esta al punto del final. por eso pregunto **** ¿Que es esto? ****
Ignacio:
lo de las 'detached locals' lo se y lo he aplicado ... pero aún así se ve que no lo he hecho bien y me daba un error en runtime , y pensé que había otra forma de hacerlo, de hecho que he encontrado lo que hizo JASM y no lo había visto nunca, no se si será también valido para los DBBrowse, si me lo puedes confirmar te lo agradeceré.
Gracias.
Antonio F. Ortega
--
Jose Alfonso utiliza macros que también son perfectamente válidos (el punto indica el final de la macro) pero que no son 'detached locals'.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje news:4721bd8d$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Gracias JASM, claro que me vale, ya lo he visto y lo he aplicado
For nI := 1 To nLen
cDato := "oBrw:aArrayData[ nFila," + AllTrim( Str(nI) ) + " ]"
cTitle := "oBrw:aCols[" + AllStr(nI) + " ]:cHeader"
With Object oCol := oReport:AddColumn()
:aTitle := { { || &cTitle. } } **** ¿ Que es esto ? ****
:aData := { { || &cDato. } } **** ¿ Que es esto ? ****
:Create()
End With
Next
El &cTitle. no lo sabía no lo había visto nunca me reifiero claro esta al punto del final. por eso pregunto **** ¿Que es esto? ****
Ignacio:
lo de las 'detached locals' lo se y lo he aplicado ... pero aún así se ve que no lo he hecho bien y me daba un error en runtime , y pensé que había otra forma de hacerlo, de hecho que he encontrado lo que hizo JASM y no lo había visto nunca, no se si será también valido para los DBBrowse, si me lo puedes confirmar te lo agradeceré.
Gracias.
Antonio F. Ortega
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
Gracias Ignacio, se ve que sin el punto final la macro no funciona, no sabía que deben llevar punto.
Antonio F. Ortega
--
Antonio F. Ortega
--
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
Me corrijo, si funciona sin el punto.
Antonio F. Ortega
--
Antonio F. Ortega
--
-
- Mensajes: 109
- Registrado: Lun Abr 02, 2007 10:12 am
Report de un DBBrowse
Antonio,
El punto es una costumbre clippera. Esa construccion no funcionaba en Clipper sin el punto.
Saludos
Jose A. Suarez
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje news:4721cf78$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Me corrijo, si funciona sin el punto.
Antonio F. Ortega
--
El punto es una costumbre clippera. Esa construccion no funcionaba en Clipper sin el punto.
Saludos
Jose A. Suarez
"Antonio F. Ortega" <antonio.ortega@puentelibros.com> escribió en el mensaje news:4721cf78$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
Me corrijo, si funciona sin el punto.
Antonio F. Ortega
--
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
Ignacio, tenía la sensación de que no era cuestión de 'trucos' o 'magia'
:-) , pero lo quería confirmar y efectivamente el código del primer
mensaje es correcto, porque estoy utilizando macros. luego de revisar y
revisar el código y de consultarlo con un colega me doy cuenta que el
problema es el siguiente, un DBBrowse que tiene un DataSet que es un
TSQLQuery ( SQLiteDataSource ) muestra los datos correctamente, pero
cuando intento lanzar el reporte, los valores Nil que si admite el
DBBrowse, no son admitidos por el Report.
¿ En tu opinión cuál es la solución ?.
Gracias.
Saludos.
Antonio F. Ortega
Ignacio Ortiz de Zúñiga escribió:
> Antonio,
>
> El problema es que nI siempre vale para cualquier columna Len( oBrw:aCols )
> + 1 ya que es el valor que tiene cuando se ejecutan los codeblock.
>
> El truco consiste en hacer lo que se llama 'detached locals' que se ha
> explicado en multitud de ocasiones en este y otros foros de Harbour. Te
> ruego por favor lo busques entre los mensajes del foro. Gracias
>
> Un saludo
>
:-) , pero lo quería confirmar y efectivamente el código del primer
mensaje es correcto, porque estoy utilizando macros. luego de revisar y
revisar el código y de consultarlo con un colega me doy cuenta que el
problema es el siguiente, un DBBrowse que tiene un DataSet que es un
TSQLQuery ( SQLiteDataSource ) muestra los datos correctamente, pero
cuando intento lanzar el reporte, los valores Nil que si admite el
DBBrowse, no son admitidos por el Report.
¿ En tu opinión cuál es la solución ?.
Gracias.
Saludos.
Antonio F. Ortega
Ignacio Ortiz de Zúñiga escribió:
> Antonio,
>
> El problema es que nI siempre vale para cualquier columna Len( oBrw:aCols )
> + 1 ya que es el valor que tiene cuando se ejecutan los codeblock.
>
> El truco consiste en hacer lo que se llama 'detached locals' que se ha
> explicado en multitud de ocasiones en este y otros foros de Harbour. Te
> ruego por favor lo busques entre los mensajes del foro. Gracias
>
> Un saludo
>
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
el problema es el siguiente, un DBBrowse que tiene un DataSet que es un
TSQLQuery ( SQLiteDataSource ) muestra los datos correctamente, pero
cuando intento lanzar el reporte, los valores Nil que si admite el
DBBrowse, no son admitidos por el Report.
¿ Como lo puedo solucionar ?
Antonio F. Ortega
TSQLQuery ( SQLiteDataSource ) muestra los datos correctamente, pero
cuando intento lanzar el reporte, los valores Nil que si admite el
DBBrowse, no son admitidos por el Report.
¿ Como lo puedo solucionar ?
Antonio F. Ortega
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Report de un DBBrowse
Antonio,
Utilizar expresiones del tipo:
IIF( oDataField:Value != NIL, oDataFieldValue, "" )
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Antonio F. Ortega" <antonio.ortega@ono.com> escribió en el mensaje
news:472302ee$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ignacio, tenía la sensación de que no era cuestión de 'trucos' o 'magia'
>
, pero lo quería confirmar y efectivamente el código del primer
> mensaje es correcto, porque estoy utilizando macros. luego de revisar y
> revisar el código y de consultarlo con un colega me doy cuenta que el
> problema es el siguiente, un DBBrowse que tiene un DataSet que es un
> TSQLQuery ( SQLiteDataSource ) muestra los datos correctamente, pero
> cuando intento lanzar el reporte, los valores Nil que si admite el
> DBBrowse, no son admitidos por el Report.
>
> ¿ En tu opinión cuál es la solución ?.
>
> Gracias.
>
> Saludos.
>
> Antonio F. Ortega
>
>
> Ignacio Ortiz de Zúñiga escribió:
>> Antonio,
>>
>> El problema es que nI siempre vale para cualquier columna Len(
>> oBrw:aCols ) + 1 ya que es el valor que tiene cuando se ejecutan los
>> codeblock.
>>
>> El truco consiste en hacer lo que se llama 'detached locals' que se ha
>> explicado en multitud de ocasiones en este y otros foros de Harbour. Te
>> ruego por favor lo busques entre los mensajes del foro. Gracias
>>
>> Un saludo
>>
Utilizar expresiones del tipo:
IIF( oDataField:Value != NIL, oDataFieldValue, "" )
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Antonio F. Ortega" <antonio.ortega@ono.com> escribió en el mensaje
news:472302ee$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ignacio, tenía la sensación de que no era cuestión de 'trucos' o 'magia'
>

> mensaje es correcto, porque estoy utilizando macros. luego de revisar y
> revisar el código y de consultarlo con un colega me doy cuenta que el
> problema es el siguiente, un DBBrowse que tiene un DataSet que es un
> TSQLQuery ( SQLiteDataSource ) muestra los datos correctamente, pero
> cuando intento lanzar el reporte, los valores Nil que si admite el
> DBBrowse, no son admitidos por el Report.
>
> ¿ En tu opinión cuál es la solución ?.
>
> Gracias.
>
> Saludos.
>
> Antonio F. Ortega
>
>
> Ignacio Ortiz de Zúñiga escribió:
>> Antonio,
>>
>> El problema es que nI siempre vale para cualquier columna Len(
>> oBrw:aCols ) + 1 ya que es el valor que tiene cuando se ejecutan los
>> codeblock.
>>
>> El truco consiste en hacer lo que se llama 'detached locals' que se ha
>> explicado en multitud de ocasiones en este y otros foros de Harbour. Te
>> ruego por favor lo busques entre los mensajes del foro. Gracias
>>
>> Un saludo
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 124
- Registrado: Mié May 17, 2006 10:50 am
Report de un DBBrowse
Ignacio,
Vale, es lógico para salir del paso, me imagino que es deseable que lo
controle la clase report, puesto que ya lo controla la clase browse.
Gracias.
Antonio F. Ortega
Vale, es lógico para salir del paso, me imagino que es deseable que lo
controle la clase report, puesto que ya lo controla la clase browse.
Gracias.
Antonio F. Ortega