Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-09-2020
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Fastreport - Tabla Virtual

Hola hay una forma de enlazar una tabla virtual a fastreport o sino de un while enviar lineas de reporte?. Porque uso con Delphi 7 reportes en excel donde en el while envio lineas, aunque levanto el array en memoria y envio al final a excel es muy lento cuando son mas de 2000 renglones. Pero no encuentro como hacer esto en fastreport, si uso fr con tablas comunes. Gracias.
Responder Con Cita
  #2  
Antiguo 08-09-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No me he enterado de lo que quieres hacer ni del problema que tienes.
Tampoco sé qué parte estás preguntando ni qué parte estás informando.
Responder Con Cita
  #3  
Antiguo 08-09-2020
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Fasstport

Hola uso desde delphi 7 dentro de un while un array donde va informacion desde distintas tablas (ej. VarArray[I,1] := zquery3.Fields[4].AsString , que envio despues a un excel. Pero es lento a la linea 1500 comienza a ser mas lento. Estaba pensando eliminar el excel y grabar en vez de un array a una tabla virtual y enviarlo a FR o se puede al recorrer el while enviar renglon por renglon a FR?:
Responder Con Cita
  #4  
Antiguo 08-09-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Perdona, pero no entiendo la relación entre un excel, una tabla virtual y fastreport.
Responder Con Cita
  #5  
Antiguo 08-09-2020
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Fastreport

Hola hoy en dia por ejemplo me piden saber licencias de empleados de una empresa de un rango de fechas, hago un select y dentro de un while hago calculos de dias y otros calculos mas especiales que em piden, una vez hecho esto, antes de hacer el next del while envio esa linea a un excel y es lentisimo. Para acelerar hice un array una vez que termina de leer la tabla y hace todos los calculos envio ese array al excel (no renglon por renglon) es menos lento, pero para mas de 1000 lineas de excel se hace pesado.


Si elimino el excel puedo hacer un fastreport y enviar una tabla virtual a fasreport o como hago linea por linea que envio a excel se puede enviar asi la informacion a FR renglon por renglon a Fastreport?.


Gracias.
Responder Con Cita
  #6  
Antiguo 08-09-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Y por qué no pasas la consulta sql al fastreport, directamente, no tienes que hacer nada más y será instantáneo.
Responder Con Cita
  #7  
Antiguo 08-09-2020
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Fastreport

Hola porque tengo que hacer calculos por ejemplo si pidieras licencias del 01/10 al 03/10, pero tu abriste una licencia el 26 de septiembre y la cerraste el 05/10, tendria que escribir tres dias de ese rango, o si esta abierta la licencia la fecha final estaria en blanco y calculo solo los dias que fueron pedidos mas otros calculos que dentro de un sql como la sumatoria total de dias por documento se me hace muy engorroso . Por eso hoy en dia funciona bajo listado excel pero es lento.


Saludos.
Responder Con Cita
  #8  
Antiguo 08-09-2020
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Un componente TClientDataSet te puede servir como tabla virtual. Es estable, rápido y admite alimentación desde queries, además de alimentación manual en sus campos. Si con "tabla virtual" te refieres a un data set (relación de campos y registros) en memoria, entonces ese componente te puede servir y se puede usar con FastReport y con cualquier otra biblioteca de reportes.

De otro modo, te invitamos a exponer de forma más clara la necesidad que quieres resolver.

Saludos.
Responder Con Cita
  #9  
Antiguo 09-09-2020
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Fastreport

Gracias lo hice como me explicaste, realmente muy rapido.
Responder Con Cita
  #10  
Antiguo 10-09-2020
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
"¿Puedo usar una tabla de memoria para conectar a FastReport?"

Ahora me tomo unos minutos para "traducir" tu primer mensaje. A como yo creo que pudo haberse entendido mejor.

Cita:
Empezado por shoulder Ver Mensaje
Hola hay una forma de enlazar una tabla virtual a fastreport o sino de un while enviar lineas de reporte?. Porque uso con Delphi 7 reportes en excel donde en el while envio lineas, aunque levanto el array en memoria y envio al final a excel es muy lento cuando son mas de 2000 renglones. Pero no encuentro como hacer esto en fastreport, si uso fr con tablas comunes. Gracias.
Cita:
Hola.

Mi aplicación en Delphi 7 genera un lista de información que el usuario me pide en alguna forma de reporte o documento. Encontré la manera de enviarla a Excel, pero cuando son miles de registros el proceso se ralentiza demasiado. Así que pensé que sería mejor usar algún componente para reportes como los de FastReport. Mi experiencia con estos componentes ha sido siempre conectándolos a un query o tabla de base de datos.

¿Existe en Delphi algún componente tipo "tabla virtual", es decir, de sólo memoria, que mi programa pueda alimentar, y que además se pueda conectar con FastReport para generar el reporte?

Muchas gracias de antemano.
Responder Con Cita
  #11  
Antiguo 10-09-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Un TClientDataSet te viene perfecto para lo que quieres.
Responder Con Cita
  #12  
Antiguo 10-09-2020
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Fasreport

Si Gracias realmente asi la velocidad es mucho mayor, sino no se el porque los programas en delphi con listados excel funcionan mas rapido en windows 10 que en versiones anteriores de windows.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ordenar un tabla virtual emeritos Varios 4 18-05-2018 16:25:45
Crear y manipular tabla virtual o temporal MAXIUM SQL 0 22-10-2013 08:45:21
Aporte: CodigoFuente Tabla Virtual cmm07 Varios 10 03-02-2009 20:13:41
MySql puede almacenar datos en una tabla virtual? Damian666 MySQL 4 02-09-2007 08:35:30
Maestro-Detalle 'virtual' con una sola tabla gluglu Conexión con bases de datos 2 11-10-2004 19:44:23


La franja horaria es GMT +2. Ahora son las 18:25:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi