Hola necesito hacer una tabla de pedidos a partir de otra ingredientesdiarios.
les voy a poner la tabla que tengo hecho y la que quiero hacer.
La tabla que tengo hecho es ingredientesdiarios.db (en mi formulario se llama Table2) y tiene los siguientes campos:
FechaMenu Dia Nombre Cantidad Unidad Clasificacion
1017012011 Lunes Pollo 20 k Carnes
1017012011 Martes Azucar 10 k Abarrotes
1017012011 Martes Pollo 10 k Carnes
1017012011 Miercoles Avena 3 C Abarrotes
1017012011 Miercoles Azucar 10 k Abarrotes
170121012011 Viernes Pollo 25 k Carnes
y la tabla que quiero llenar o hacer apartir de esto es pedido (en mi formulario es Table1):
Proveedor Descripcion Unidad CantidadP CantidadS FechaE FechaS
Carnes Pollo k 30 1017012011
Abarrotes Azucar k 20 1017012011
Abarrotes Avena C 3 1017012011
segun yo lo para lograr hacerlo hice un codigo, pero ya lo cheque poco a poco y el error esta en que en el segundo while mi table2 llega al final y ya no puede regresar al primer while, chequen mi codigo por favor es este:
Código Delphi
[-]
var
a, b, c, d, e, f:String;
cant: Integer;
begin
if (Table1.Locate('FechaE', Edit1.Text, [])) then
begin
ShowMessage('Ya existe el pedido de esa fecha');
end
else
begin
ShowMessage('espera unos segundos');
Table2.First;
table2.Edit;
While Not Table2.Eof do
begin
Cant:=0;
Table2.Edit;
DataSource2.DataSet.Edit;
begin
a:=Table2.FieldValues['FechaMenu'];
b:=Table2.FieldValues['Dia'];
c:=Table2.FieldValues['Nombre'];
d:=Table2.FieldValues['Cantidad'];
e:=Table2.FieldValues['Unidad'];
f:=Table2.FieldValues['Clasificacion'];
table2.First;
LABEL6.Caption:=a+c;
while Not table2.Eof do
begin
showmessage('segundo while');
DataSource2.DataSet.Edit;
if (a=Table2.FieldValues['FechaMenu'])and (c=Table2.FieldValues['Nombre']) then
begin
showmessage('probando en el if');
cant:= cant + Table2.FieldValues['Cantidad'];
end;
Table2.Next;
end;
if not(Table1.Locate('Descripcion',c, [])) then
begin
table1.Append;
Table1.Edit;
Table1.FieldValues['Proveedor']:=f;
Table1.FieldValues['Descripcion']:=c;
Table1.FieldValues['Unidad']:=e;
Table1.FieldValues['CantidadP']:=cant;
Table1.FieldValues['FechaE']:=a;
end;
Table1.Post;
Table2.Next;
end;
Table2.Post;
end;
end;
espero me hayan entendido y me ayuden por favor.