FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
FastReport con tablas en memoria
Pues eso, como dice el título, necesito conectar el fr con los datos que tengo guardados en una table en memoria.
Tengo un proyecto donde saco los datos con un ClientDataSet y luego otro ClientDataSet (este no tiene ninguna conexión) que utiliza las tablas del primero. Y a la hora de agregar los campos en el fr pues no me sale... Alguien me echa una mano? Por mas que busco no encuentro nada... |
#2
|
||||
|
||||
Tienes que enlazar el reporte NO con el ClientDataset que trae los datos sino con el que no tiene conexión. Aunque con tan poca información es lo más que se me ocurre.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#3
|
|||
|
|||
A ver me explico un poco mas, tengo un ClientDataSet1 con el que obtengo los datos de la base de datos, luego tengo ClientDataSet2 (este no tiene conexión ninguna) que obtiene los datos del ClientDataSet1. Luego tengo un frxDBDataSet que enlazo con el ClientDataSet2 y creo el informe. Al agregar data al fr agrego el frxDBDataSet pero no me saca los campos y no puedo trabajar con el...espero que te quede todo mas claro.
Espero sus ayudas |
#5
|
|||
|
|||
La cosa esta en que el ClientDataSet2 no tiene ninguna consulta, se le van introduciendo los datos desde el código por lo que tampoco lo puedo activar...
|
#7
|
|||
|
|||
Efectivamente, por fin lo he solucionado! Muchas gracias
|
#8
|
|||
|
|||
Ahora tengo el problema de que quiero reutilizar el ClientDataSet para crear otro informe con una query diferente (el resultado tiene campos diferentes).
Por lo que empiezo cambiando la estructura desde el código: DataSet.FieldDefs.Clear; DataSet.FieldDefs.Add('nombre', ftString, 30, False); en esta última linea me da un error de Field ... not found. Alguna solución?? |
#10
|
|||
|
|||
Cita:
|
#11
|
||||
|
||||
Código y mensaje de error exacto...please!
|
#12
|
|||
|
|||
with MTRaveCurso1 do // REDEFINO LA ESTRUCTURA
begin Active := False; Fields.Clear; FieldDefs.Clear; FieldDefs.Add('nombre', ftString, 30, False); FieldDefs.Add('apellidos', ftString, 30, False); FieldDefs.Add('asignatura', ftString, 30, False); CreateDataSet; end; // HAGO UNA CONSULTA SQL CON CLIENTDATASET while not CDSActualiza.Eof do // LOS VOY METIENDO EN UNA TABLA begin with MTRaveCurso1 do begin Append; FieldByName('nombre').AsString := CDSActualiza.FieldByName('nombre').AsString; FieldByName('apellidos').AsString := CDSActualiza.FieldByName('apellidos').AsString; FieldByName('asignatura').AsString := CDSActualiza.FieldByName('asignatura').AsString; Post; end; CDSActualiza.Next; end; frxReport1.ShowReport(); Hasta aquí bien, pero cuando abre el informe FALLA: Field not found: frxDBDataset1,"nombre", Field not found: frxDBDataset1,"apellidos", Field not found: frxDBDataset1,"asignatura" Espero tu ayuda! |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
FastReport con tablas en memoria | David | Impresión | 2 | 29-01-2013 17:43:37 |
Tablas TADOTable en memoria | JF Sebastian | Conexión con bases de datos | 18 | 05-04-2010 21:33:15 |
Tablas o consultas en memoria | jmdd | SQL | 3 | 08-08-2007 19:26:19 |
out of memory con tablas en memoria | jrmanso | Firebird e Interbase | 8 | 20-06-2007 21:57:37 |
Tablas en memoria | marcoszorrilla | Trucos | 0 | 30-06-2006 15:37:44 |
|