Ver Mensaje Individual
  #6  
Antiguo 24-01-2006
javicho_villa javicho_villa is offline
Miembro
 
Registrado: feb 2005
Ubicación: Lima - Perú
Posts: 105
Reputación: 20
javicho_villa Va por buen camino
Sorry por la cantidad

Basicamente asi lleno una tabla
-------------------------------------------------------
Dm.TrabajoQuery.Close;
Dm.TrabajoQuery.SQL.Clear;
Dm.TrabajoQuery.SQL.Add(Sentencia+Filtro+Orden);
Dm.TrabajoQuery.Active := true;
if Dm.TrabajoQuery.RecordCount > 0 then begin
self.CreandoTemporal;
Dm.TrabajoQuery.First;
id := 1;
while not Dm.TrabajoQuery.Eof do begin
Dm.TempDetTable.Append;
Dm.TempDetTable.FieldValues['Id_Temp'] := Id;
Dm.TempDetTable.FieldValues['Id_Kardex'] := Dm.TrabajoQuery.FieldByName('Id_Kardex').AsInteger;
Dm.TempDetTable.FieldValues['Id_Producto'] := Dm.TrabajoQuery.FieldByName('Id_Producto').AsInteger;
Dm.TempDetTable.FieldValues['Id_Cliente'] := Dm.TrabajoQuery.FieldByName('Id_Cliente').AsInteger;
Dm.TempDetTable.FieldValues['Fecha'] := Dm.TrabajoQuery.FieldByName('Fecha').AsDateTime;
Dm.TempDetTable.FieldValues['TipoMovimiento'] := Dm.TrabajoQuery.FieldByName('TipoMovimiento').AsBoolean;
Dm.TempDetTable.FieldValues['Lote'] := Dm.TrabajoQuery.FieldByName('Lote').AsString;
Dm.TempDetTable.FieldValues['Observaciones'] := Dm.TrabajoQuery.FieldByName('Observaciones').AsString;
Dm.TempDetTable.FieldValues['OrdenCompra'] := Dm.TrabajoQuery.FieldByName('OrdenCompra').AsString;
Dm.TempDetTable.FieldValues['ProductoLote'] := Dm.TrabajoQuery.FieldByName('Id_Producto').AsString+Dm.TrabajoQuery.FieldByName('Lote').AsString;
Dm.TempDetTable.FieldValues['PesoNeto'] := Dm.TrabajoQuery.FieldByName('PesoNeto').AsFloat;
Dm.TempDetTable.FieldValues['Id_Proveedor'] := Dm.TrabajoQuery.FieldByName('Id_Proveedor').AsInteger;
Dm.TempDetTable.FieldValues['Serie'] := Dm.TrabajoQuery.FieldByName('Serie').AsString;
Dm.TempDetTable.FieldValues['Numero'] := Dm.TrabajoQuery.FieldByName('Numero').AsString;
Dm.TempDetTable.FieldValues['Id_Parametro_tc'] := Dm.TrabajoQuery.FieldByName('Id_Parametro_tc').AsInteger;
Dm.TempDetTable.Post;
id := id + 1;
Dm.TrabajoQuery.Next;
end;
---- Y Asi la creo --------------
Dm.TempCabTable.Close;
Dm.TempCabTable.TableType := ttParadox;
Numero := 1;
MiTabla := '_TEMP_';
lencontro := false;
while lencontro=false do begin
Dm.TempCabTable.TableName := MiTabla+Trim(IntToStr(Numero));
if Dm.TempCabTable.Exists then Numero := Numero + 1
else lencontro := true;
end;
with Dm.TempCabTable.FieldDefs do
begin
Clear;
Add('Id_Temp', ftInteger, 0, True);
Add('ProductoLote', ftString, 30, true);
Add('Id_Cliente', ftInteger, 0, FALSE);
Add('Id_Producto', ftInteger, 0, FALSE);
Add('Lote', ftString, 80, FALSE);
Add('Saldo', ftFloat, 0, FALSE);
end;
Dm.TempCabTable.Exclusive := true;
Dm.TempCabTable.IndexDefs.Clear;
with Dm.TempCabTable.IndexDefs.AddIndexDef do begin
Name := '';
Fields := 'Id_Temp';
Options := [ixPrimary];
end;
with Dm.TempCabTable.IndexDefs.AddIndexDef do begin
Name := 'Id_Producto';
Fields := 'Id_Producto';
end;
----------------------------------------
El problema es cuando quiero consultarlo por segunda vez, no me sale nada y tengo que salir del sistema para poder visualizarlo

Gracias y mil disculpas por el monton de codigo, estoy tan sumergido en el programa que se me paso.

Javier Villa
Responder Con Cita