Hola a Todos:
Tengo un problema cuando creo tablas dinamicamente en tiempo de ejecución, lo utilizo para generar un reporte con el QuickReport, el problema es que cuando consulto el reporte la primera vez sale perfecto, pero cuando vuelvo a visualizarlo por pantalla me sale sin datos, y he podido indagar que parece que la tabla a partir de la segunda vez ya no guarda los datos, la cosa es que tengo que salir del sistema y volver a entrar para que el reporte salga bien.
el Codigo que uso para crear la tabla es el siguiente:
Código Delphi
[-]
Dm.TemporalTable.Close;
Dm.TemporalTable.TableType := ttParadox;
Dm.TemporalTable.TableName := MiTabla+Trim(IntToStr(Numero));
with Dm.TemporalTable.FieldDefs do
begin
Clear;
Add('Id_Temp', ftInteger, 0, True);
Add('Id_Cliente', ftInteger, 0, True);
Add('ClienteProducto',ftString, 50, False);
Add('Id_Producto', ftInteger, 0, FALSE);
end;
Dm.TemporalTable.Exclusive := true;
Dm.TemporalTable.IndexDefs.Clear;
with Dm.TemporalTable.IndexDefs.AddIndexDef do begin
Name := '';
Fields := 'Id_Temp';
Options := [ixPrimary];
end;
with Dm.TemporalTable.IndexDefs.AddIndexDef do begin
Name := 'Id_Cliente';
Fields := 'Id_Cliente';
end;
Dm.TemporalTable.CreateTable;
Dm.TemporalTable.Active := true;
Dm.TemporalTable.FieldDefs.Update;
Dm.TemporalTable.IndexDefs.Update;
//--- y Para llenar la tabla uso los FieldValues y FieldByName de Tables y Querys de la siguiente manera:
Código Delphi
[-]
-- Append--
Dm.TempDetTable.FieldValues['Id_Kardex']:=Dm.TrabajoQuery.FieldByName('Id_Kardex').AsInteger;
-- Post ---
Le voy agradecer bbastante si me dan una mano por que la verdad que ya no se que hacer, para solucionar este problema.
Gracias de Antemano.
Javier.